matlab画图问题
clear
syms theta
w=(8+0.4*theta^3+0.6*theta^4)/(16-16*theta+2*theta^2-2*theta^3);
p1=(2+theta+2*w+0.6*theta+w*theta^2)/(4-theta^2);
p2=(2+theta+1.2+3*w*theta)/(4-theta^2);
y1=(p1-w)*(1-p1+theta*p2)
theta=[0:0.1:0.9];
yn1=(((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8)./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) - ((8.*theta)./5 - (2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) - (theta.^2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) + 2)./(theta.^2 - 4)).*(((8.*theta)./5 - (2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))/(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) - (theta.^2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) + 2)./(theta.^2 - 4) - (theta.*(theta - (3.*theta.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) + 16/5))./(theta.^2 - 4) + 1);
plot(theta,yn1,'--diamond')
上面第一部分给出w,接着给出p1 p2 y1,是不是系统直接就将w,p1,p2代入y1了?这样对吗?
第二部分的yn1是从第一部分得来的新的y1(不知道对错),yn1里面什么时候该用点运算?什么时候正常运算?正常运算时显示错误,全部加点对吗?
matlab完全白菜,求大神指点 ,谢谢! 展开
因为theta是一个向量,涉及到它的运算在这里都是要加点的,加点是把运算在每一个元素上执行。这里的运算指乘除和平方
可以把正确的代码打出来吗?对matlab我真的一窍不通
clc
clear
syms theta
w=(8+0.4.*theta.^3+0.6.*theta.^4)/(16-16.*theta+2.*theta^2-2.*theta.^3);
p1=(2+theta+2.*w+0.6.*theta+w.*theta.^2)/(4-theta.^2);
p2=(2+theta+1.2+3.*w*theta)/(4-theta.^2);
y1=(p1-w).*(1-p1+theta.*p2)
theta=[0:0.1:0.9];
yn1=(((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8)./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) - ((8.*theta)./5 - (2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) - (theta.^2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) + 2)./(theta.^2 - 4)).*(((8.*theta)./5 - (2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))/(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) - (theta.^2.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) + 2)./(theta.^2 - 4) - (theta.*(theta - (3.*theta.*((3.*theta.^4)./5 + (2.*theta.^3)./5 + 8))./(2.*theta.^3 - 2.*theta.^2 + 16.*theta - 16) + 16/5))./(theta.^2 - 4) + 1);
plot(theta,yn1,'--diamond')
2024-08-07 广告