求matlab绘图大神,隐函数绘图请问以下程序错在哪了?为啥第2个图作不出来?仔细讲解一下for循环那段,clc;clear all;w=[];z=[];figure;h=ezplot('w^(z/500)*0.01*(pi*sin(z/500*pi/2)+2*cos(z/500*pi/2)*log(w))+2*log(w)',[0,10^6
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 07:42:16
![求matlab绘图大神,隐函数绘图请问以下程序错在哪了?为啥第2个图作不出来?仔细讲解一下for循环那段,clc;clear all;w=[];z=[];figure;h=ezplot('w^(z/500)*0.01*(pi*sin(z/500*pi/2)+2*cos(z/500*pi/2)*log(w))+2*log(w)',[0,10^6](/uploads/image/z/1745052-60-2.jpg?t=%E6%B1%82matlab%E7%BB%98%E5%9B%BE%E5%A4%A7%E7%A5%9E%2C%E9%9A%90%E5%87%BD%E6%95%B0%E7%BB%98%E5%9B%BE%E8%AF%B7%E9%97%AE%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%E9%94%99%E5%9C%A8%E5%93%AA%E4%BA%86%3F%E4%B8%BA%E5%95%A5%E7%AC%AC2%E4%B8%AA%E5%9B%BE%E4%BD%9C%E4%B8%8D%E5%87%BA%E6%9D%A5%3F%E4%BB%94%E7%BB%86%E8%AE%B2%E8%A7%A3%E4%B8%80%E4%B8%8Bfor%E5%BE%AA%E7%8E%AF%E9%82%A3%E6%AE%B5%2Cclc%3Bclear+all%3Bw%3D%5B%5D%3Bz%3D%5B%5D%3Bfigure%3Bh%3Dezplot%28%27w%5E%28z%2F500%29%2A0.01%2A%28pi%2Asin%28z%2F500%2Api%2F2%29%2B2%2Acos%28z%2F500%2Api%2F2%29%2Alog%28w%29%29%2B2%2Alog%28w%29%27%2C%5B0%2C10%5E6)
求matlab绘图大神,隐函数绘图请问以下程序错在哪了?为啥第2个图作不出来?仔细讲解一下for循环那段,clc;clear all;w=[];z=[];figure;h=ezplot('w^(z/500)*0.01*(pi*sin(z/500*pi/2)+2*cos(z/500*pi/2)*log(w))+2*log(w)',[0,10^6
求matlab绘图大神,隐函数绘图
请问以下程序错在哪了?为啥第2个图作不出来?仔细讲解一下for循环那段,
clc;
clear all;
w=[];
z=[];
figure;
h=ezplot('w^(z/500)*0.01*(pi*sin(z/500*pi/2)+2*cos(z/500*pi/2)*log(w))+2*log(w)',[0,10^6,0,1000]);
x=get(h,'Xdata');
y=get(h,'Ydata');
[m,n]=size(x); %从这里开始到for循环结束没看懂,x指的是什么?从哪来的?
for i=1:m
for j=1:n
w=[w x{i,j}(1:end)];%这是什么?
z=[z y{i,j}(1:end)];
end
end
f=1000*(1+1./((w.^z*0.01).^2)+2*cos(z*pi/2)./(w.^z*0.01)).^0.5;
figure;
plot(w,f,'--r');
xlabel('w');
ylabel('f');
求matlab绘图大神,隐函数绘图请问以下程序错在哪了?为啥第2个图作不出来?仔细讲解一下for循环那段,clc;clear all;w=[];z=[];figure;h=ezplot('w^(z/500)*0.01*(pi*sin(z/500*pi/2)+2*cos(z/500*pi/2)*log(w))+2*log(w)',[0,10^6
改一下程序
clc;
clear all;
w=[];
z=[];
figure;
h=ezplot('w^(z/500)*0.01*(pi*sin(z/500*pi/2)+2*cos(z/500*pi/2)*log(w))+2*log(w)',[0.01,10,-10,10]);
x=get(h,'Xdata');% 获取上面画出的图所有点的横坐标
y=get(h,'Ydata'); %获取上面画出的图所有点的纵坐标
if strcmp(class(x),'double')&strcmp(class(y),'double') %判断是否是double类型如果是就转为cell类型
x=num2cell(x);
y=num2cell(y);
end
[m,n]=size(x); %求x大小,和y一样
for i=1:m
for j=1:n
w=[w x{i,j}(1:end)];)];%取出x的第i行j列的元胞,它是一个矩阵或者向量,不管怎么样,通过(1:end)转化为一个行向量放到w向量中.每次执行一次,w就增加一个行向量x{i,j}(1:end)
z=[z y{i,j}(1:end)];
end
end
f=1000*(1+1./((w.^z*0.01).^2)+2*cos(z*pi/2)./(w.^z*0.01)).^0.5;
figure;
plot(w,f,'--r');
xlabel('w');
ylabel('f');