声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1502|回复: 5

[综合讨论] 函数的一个变量是向量,如何对函数求值?

[复制链接]
发表于 2007-10-19 10:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2007-10-19 10:04 | 显示全部楼层


使用循环,作用在标量a(i)上
 楼主| 发表于 2007-10-19 10:31 | 显示全部楼层
a,b都是向量,如何循环?
发表于 2007-10-19 10:36 | 显示全部楼层
原帖由 jsp613 于 2007-10-19 10:31 发表
a,b都是向量,如何循环?


看看基础书吧
 楼主| 发表于 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)
[gamma,beta]=meshgrid(gamma,beta);
surf(gamma,beta,z3);hold on;colormap(hot)
stem3(gamma,beta,z,'bo')


surf出问题了

[ 本帖最后由 eight 于 2007-10-19 11:11 编辑 ]
发表于 2007-10-19 11:12 | 显示全部楼层
原帖由 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*co ...


请发帖前,认真阅读本版所有置顶帖,特别是对于出错的问题如何描述
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 21:22 , Processed in 0.054080 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表