24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1702  |  回复: 3

jluzzpaul

金虫 (正式写手)

[求助] 菜鸟求助用matlab如何画三维图已有1人参与

本人菜鸟,请各位老师,讲解如何画三维图,我看到有个例子:
x=-5:5;y=-5:5;[X,Y]=meshgrid(x,y);
zz=1.2*exp(-((X-1).^2+(Y-2).^2))-0.7*exp(-((X+2).^2+(Y+1).^2));
Z=-500+zz+randn(size(X))*0.05;  
surf(X,Y,Z);view(-25,25)
于是模仿进行如下编写:
YR=0:0.0025:1;
Rm=400:1:799;
[YR,Rm]=meshgrid(YR,Rm);
H=713.294+0.778*YR.*Rm.-0.907*Rm.-575.4*YR.
提示我 missing variable of function。
我觉得是不是变量YR和Rm是一组数据计算需要加个“点”,请问把函数画成图像里面变量如何加这个“点”,
有什么规则,那部书籍有具体介绍推荐一本书。还有正确的代码怎么书写。
多谢多谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fish.yfyh

铜虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
jluzzpaul: 金币+2, ★★★很有帮助, 谢谢 2013-12-17 11:27:50
jluzzpaul: 金币+3, ★★★★★最佳答案, 谢谢您耐心的指导。 2013-12-17 13:42:37
YR=0:0.0025:1;
Rm=400:1:799;
[YR,Rm]=meshgrid(YR,Rm);
H=713.294+0.778*YR.*Rm-0.907*Rm-575.4*YR;

surf(YR, Rm, H); view(-25,25)

在Linux下的Matlab2010b上运行成功.
2楼2013-12-17 11:20:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jluzzpaul

金虫 (正式写手)

引用回帖:
2楼: Originally posted by fish.yfyh at 2013-12-17 11:20:40
YR=0:0.0025:1;
Rm=400:1:799;
=meshgrid(YR,Rm);
H=713.294+0.778*YR.*Rm-0.907*Rm-575.4*YR;

surf(YR, Rm, H); view(-25,25)

在Linux下的Matlab2010b上运行成功.

请问为什么第一个YR加了“点”,后面的YR和Rm都不加'点"
3楼2013-12-17 11:27:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fish.yfyh

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by jluzzpaul at 2013-12-17 11:27:20
请问为什么第一个YR加了“点”,后面的YR和Rm都不加'点"...

援引一篇日志: http://hi.baidu.com/zhongzi2009/item/d79b9e4613603b30fa896022
===========
(1) 点乘是数组的运算,不加点是矩阵的运算;
(2) 点乘要求参与运算的两个量两必须是维数相同,是对应元素的相乘;

而不加点表示的是矩阵相乘(除的时候通过逆矩阵来实现),要求内维相同,也就是前一个矩阵的列的维数等于后一个矩阵的行 的维数。

例如A,B分别为两个矩阵,则:

A.*B表示的是两个矩阵的对应元素相乘,其中生成的同阶矩阵C的对应的矩阵元素为:C(i,j)=A(i,j)*B(i,j);

而如果A*B的话,则是正常的矩阵相乘,并非是对应的元素相乘。这一点相当重要。

举个简单的例子
例如:
x=[1 1;1 1];
>> x.^2
ans =
1 1
1 1
>> x^2
ans =
2 2
2 2
===========
4楼2013-12-17 11:31:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jluzzpaul 的主题更新
信息提示
请填处理意见