如何用matlab画出带级数的三维图
设z=sin(x)*exp(y)+sin(2x)*exp(2y)+……+sin(nx)*exp(ny),0<x<10,0<y<10,请问如何用matlab仿真出此式子的三维图和二维等高线图?
谢谢!!
[ 本帖最后由 eight 于 2007-11-15 11:18 编辑 ] %保存为jplot,调用格式为jplot(n),n为级数
function jplot(m)
a=[];
for n=1:m
a=;
end
a=;
eval(['fh=@(x,y) ' a ';']);
=meshgrid(,);
z=fh(x,y);
if n<=8
surfl(x,y,z)
shading interp
else
plot3(x,y,z)
end
axis();
view(111,30)
[ 本帖最后由 donkeyxu 于 2007-11-14 20:27 编辑 ]
eval(['fh=@(x,y) ' a ';']); 运行这句出错
eval(['fh=@(x,y) ' a ';']);出错
??? Error: "identifier" expected, "(" found.
Error in ==> G:\MathWorks_R13\work\work.m
On line 50==> eval(['fh=@(x,y)' a ' ;']); 原帖由 archersky 于 2007-11-18 00:33 发表 http://www.chinavib.com/forum/images/common/back.gif
eval(['fh=@(x,y) ' a ';']);
出错
??? Error: "identifier" expected, "(" found.
Error in ==> G:\MathWorks_R13\work\work.m
On line 50==> eval(['fh=@(x,y)' a ' ;']);
matlab 6.5不支持匿名函数,即 @ 符号
回复 #4 eight 的帖子
matlab 7.0支持匿名函数(即 @ 符号)么? 原帖由 liangpj83 于 2007-11-18 13:05 发表 http://www.chinavib.com/forum/images/common/back.gifmatlab 7.0支持匿名函数(即 @ 符号)么?
貌似可以,自己看看置顶贴中各版本的更新情况
如何用matlab 6.1版本实现
原帖由 liangpj83 于 2007-11-14 14:56 发表 http://www.chinavib.com/forum/images/common/back.gif设z=sin(x)*exp(y)+sin(2x)*exp(2y)+……+sin(nx)*exp(ny),0
我工作用电脑是matlab 6.1版本,现在不方便安装7.0版本的,
用6.1版本如何仿真出此函数的三维图与等高线图?谢谢 作一个n的循环,用meshc or surfc即可.画图是直接的,有什么困难吗?
回复 #8 xjzuo 的帖子
x,y用=meshgrid(0:0.1:10)定义,不可行,请问还有其他的定义方式么?回复 #5 liangpj83 的帖子
7.0支持@用法6.5可以用inline函数来代替@的用法
页:
[1]