jsp613 发表于 2007-10-19 10:00

函数的一个变量是向量,如何对函数求值?

f是a,b,c的函数,可是a是向量,表达式很长,不想一个一个的在乘号和除号以及^号前加点乘.的符号,有什么命令吗?

eight 发表于 2007-10-19 10:04

原帖由 jsp613 于 2007-10-19 10:00 发表 http://www.chinavib.com/forum/images/common/back.gif
f是a,b,c的函数,可是a是向量,表达式很长,不想一个一个的在乘号和除号以及^号前加点乘.的符号,有什么命令吗?

使用循环,作用在标量a(i)上

jsp613 发表于 2007-10-19 10:31

a,b都是向量,如何循环?

eight 发表于 2007-10-19 10:36

原帖由 jsp613 于 2007-10-19 10:31 发表 http://www.chinavib.com/forum/images/common/back.gif
a,b都是向量,如何循环?

看看基础书吧

jsp613 发表于 2007-10-19 11:08

function va_surf

va=solve('(3*beta*(1-beta)*gamma^2*((r3-c*gamma)*w*r3*sin(theta)-va*r3*cos(theta))*(w*r3*sin(theta)-va*cos(theta))*cos(theta))/((1-beta)*((r3-c*gamma)*w*r3*sin(theta)-va*r3*cos(theta))+beta*r3*(1+gamma)^3*(w*r3*sin(theta)-va*cos(theta)))*(r3-c-c*gamma)-((1-beta)*(r3-c*gamma))/(c*(1+gamma))*va-beta*va=0','va');
z=va(1);
z1=inline(z);
z2=vectorize(z1);
gamma=linspace(0.5,3,50);beta=linspace(1/16,4/16,50);
c=0.001;
r3=0.0116+c*gamma;
n=1000;
w=2*pi*n/60;
theta=atan(0.016./(pi*(r3+0.0116)));
z3=feval(z2,beta,gamma,r3,c,theta,w)
=meshgrid(gamma,beta);
surf(gamma,beta,z3);hold on;colormap(hot)
stem3(gamma,beta,z,'bo')


surf出问题了

[ 本帖最后由 eight 于 2007-10-19 11:11 编辑 ]

eight 发表于 2007-10-19 11:12

原帖由 jsp613 于 2007-10-19 11:08 发表 http://www.chinavib.com/forum/images/common/back.gif
function va_surf

va=solve('(3*beta*(1-beta)*gamma^2*((r3-c*gamma)*w*r3*sin(theta)-va*r3*cos(theta))*(w*r3*sin(theta)-va*cos(theta))*cos(theta))/((1-beta)*((r3-c*gamma)*w*r3*sin(theta)-va*r3*co ...

请发帖前,认真阅读本版所有置顶帖,特别是对于出错的问题如何描述
页: [1]
查看完整版本: 函数的一个变量是向量,如何对函数求值?