06.08.2013 Views

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

内容简介作者简介 - 科学与工程计算系

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Your variables are:<br />

t theta y<br />

【例 7.6.1-3】计算“替代”串。<br />

A=ones(2,1);B=ones(1,3);c=eval('B*A','A*B'),errmessage=lasterr<br />

c =<br />

1 1 1<br />

1 1 1<br />

errmessage =<br />

Error using ==> *<br />

Inner matrix dimensions must agree.<br />

【例 7.6.1-4】计算“合成”串。<br />

CEM={'cos','sin','tan'};<br />

for k=1:3<br />

theta=pi*k/12;<br />

y(1,k)=eval([CEM{1},'(',num2str(theta),')']);<br />

end<br />

y<br />

y =<br />

0.9659 0.8660 0.7071<br />

7.6.2 feval<br />

【例 7.6.2-1】feval 和 eval 运行区别之一:feval 的 FN 绝对不能是表达式。<br />

x=pi/4;Ve=eval('1+sin(x)')<br />

Ve =<br />

1.7071<br />

Vf=feval('1+sin(x)',x)<br />

??? Error using ==> feval<br />

Invalid function name '1+sin(x)'.<br />

【例 7.6.2-2】feval 和 eval 调用区别:feval 的 FN 只接受函数名。本例两种方法以后者为好。<br />

randn('seed',1);A=rand(2,2);<br />

[ue,de,ve]=eval('svd(A)');<br />

disp('Results by eval');disp([ue,de,ve]);disp(blanks(1))<br />

[uf,df,vf]=feval('svd',A);<br />

disp('Results by feval');disp([uf,df,vf])<br />

Results by eval<br />

-0.9193 -0.3936 1.2212 0 -0.7897 -0.6135<br />

-0.3936 0.9193 0 0.2633 -0.6135 0.7897<br />

Results by feval<br />

-0.9193 -0.3936 1.2212 0 -0.7897 -0.6135<br />

-0.3936 0.9193 0 0.2633 -0.6135 0.7897<br />

7.6.3 内联函数<br />

7.6.3.1 内联函数的创建<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!