如何将图中每条线的水平方向的最小值标出来
并用虚线将所有最小值连起来
图如下
syms wAngle dAngle M
dAngle=0:5:35
i=0;
for i=1:8
dAngle(i)=dAngle(i)*(pi/180);
f(i)=2*cot(wAngle*(pi/180))*((M.^2*sin(wAngle*(pi/180)).^2-1)/((M.^2*(1.4+cos(2*wAngle*(pi/180)))+2)))-tan(dAngle(i));
ezplot(f(i),[1 4 0 90]);
hold on;
end
grid;
xlabel('M');
ylabel('wAngle');
hold off
好像不行啊
能不能把完整的程序写出来
谢谢
还是不行啊
我运行过了
我的版本是7.0.0.19920 (R14)
能运行只不过就只有我以前的八条线
我要的图中每条线的水平方向的最小值没标出来
虚线也没出来
我在电脑上运行只有我的八条线没有虚线
您好。
我所发的所有程序都在自己的电脑上检验并通过。但由于条件所限,无法在更多机子和不同版本的matlab上进行检验,出现各种问题在所难免。
也就是说系统没报错,请将您运行后得到的x和y的值贴出来,如果可以的话请发张您运行后得到的图,谢谢。
下图为在我电脑上的运行截图。
syms wAngle dAngle M
dAngle=0:5:35
i=0;
for i=1:8
dAngle(i)=dAngle(i)*(pi/180);
f(i)=2*cot(wAngle*(pi/180))*((M.^2*sin(wAngle*(pi/180)).^2-1)/((M.^2*(1.4+cos(2*wAngle*(pi/180)))+2)))-tan(dAngle(i));
ezplot(f(i),[1 4 0 90]);
hold on;
end
grid;
xlabel('M');
ylabel('wAngle');
hold off
x=[];y=[];
h=get(gca,'Children');
for j=h'
[tmp,idx]=min(get(j,'xdata'));
x=[x,tmp];
tmp=get(j,'ydata');
y=[y,tmp(idx)];
end
hold on
plot(x,y,':')
text(x,y,num2cell(x))