作业帮 > 综合 > 作业

matlab如何定义x,y周的数据区间?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 12:08:34
matlab如何定义x,y周的数据区间?
一开始我用这个,正常计算并且给我画出图
syms x z;
y=(x/(x+z))*((85*85)/(1.4*(z-85)));
ezmesh(y)
但x轴z轴的 数据区间 和采样间隔 不是我想要的
我加了一句
[x,z] = meshgrid(0:100:170380,850:100:170380);
之后
syms x z;
[x,z] = meshgrid(0:100:170380,850:100:170380);
y=(x/(x+z))*((85*85)/(1.4*(z-85)));
ezmesh(y)
就给我提示错误
Warning:Rank deficient,rank = 2,tol = 9.844733e-08.
Error using /
Matrix dimensions must agree.
请问是怎么回事?
我想让
x轴 0 到 170380 间隔100
z轴 850 到 170380 间隔100
画图
其实你的问题,前面看到过,ez系列的命令属于快捷命令
在不知道自变量取值范围的情况下,简洁画图时一个好的选择
但如果自变量和函数形式都很明确时,建议使用数值方法
首先,你的变量取值太大了,即使步进100也不好,你看看:
clear all;clc;
syms x z
y=(x/(x+z))*((85*85)/(1.4*(z-85)));
ezmesh(y,[0,170380,850,170380]);
-------------------------------------------
试试数值方法:
clear all;clc;
x=0:5000:170380;
z=850:5000:170380;
[X,Z]=meshgrid(x,z);
Y=(X./(X+Z)).*((85^2)./(1.4*(Z-85)));
mesh(X,Y,Z);
再问: 太感谢了,完全解决了问题,而且图像很完美跟想象的一样,请问如果 我在同一个坐标系 想再加一个方程的图形 Y=(X./(X+Z)).*((200^2)./(2.8*(Z-200))); 想让这两个方程在一个坐标系里显示出来 怎么弄?
再答: 十分不建议这样画图,2个3维图形放在一个坐标系里,能好看吗 2维倒是很常见的,但如果有特殊用途的话,也不是不可以: clear all;clc; syms x z y=(x/(x+z))*((85*85)/(1.4*(z-85))); y1=(x/(x+z))*((200^2)/(2.8*(z-200))); ezmesh(y,[0,170380,850,170380]);hold on; ezmesh(y1,[0,170380,850,170380]);