matlab编程【if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN;】这句话是什么意思
全程序是这样的...a=input('a=');b=input('b=');c=input('c=');d=input('d=');N=input('N=');%以上为输...
全程序是这样的...
a=input('a=');
b=input('b=');
c=input('c=');
d=input('d=');
N=input('N=');%以上为输入参数,N为网格线数目
xgrid=linspace(-abs(a),abs(a),N);%建立x网格坐标
ygrid=linspace(-abs(b),abs(b),N);%建立y网格坐标
[x,y]=meshgrid(xgrid,ygrid);%确定NXN个点的x,y网格坐标
z=c*sqrt(d-y.*y/b/b-x.*x/a/a);u=1;%u=1表示z要取正负值
z1=real(z);%取z的实部z1
for k=2:N-1%以下7行程序的作用是取消z中含虚数的点
for j=2:N-1
【 if imag(z(k,j))~=0 z1(k,j)=0;】%这里为什么令z1=0
end
【 if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN;】%这句话是什么意思...
end
end
end
surf(x,y,z1),hold
if u==1 z2=-z1;
surf(x,y,z2)%u=1时加画负半面,并加坐标轴
axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);
end
xlabel('x'),ylabel('y'),zlabel('z')
hold off
题目背景是
已知二次曲面方程为 x^2/a^2+y^2/b^2+z^2/c^2=d,要求讨论参数a,b,c,d 对其形状的影响并画出
图形。 展开
a=input('a=');
b=input('b=');
c=input('c=');
d=input('d=');
N=input('N=');%以上为输入参数,N为网格线数目
xgrid=linspace(-abs(a),abs(a),N);%建立x网格坐标
ygrid=linspace(-abs(b),abs(b),N);%建立y网格坐标
[x,y]=meshgrid(xgrid,ygrid);%确定NXN个点的x,y网格坐标
z=c*sqrt(d-y.*y/b/b-x.*x/a/a);u=1;%u=1表示z要取正负值
z1=real(z);%取z的实部z1
for k=2:N-1%以下7行程序的作用是取消z中含虚数的点
for j=2:N-1
【 if imag(z(k,j))~=0 z1(k,j)=0;】%这里为什么令z1=0
end
【 if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN;】%这句话是什么意思...
end
end
end
surf(x,y,z1),hold
if u==1 z2=-z1;
surf(x,y,z2)%u=1时加画负半面,并加坐标轴
axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);
end
xlabel('x'),ylabel('y'),zlabel('z')
hold off
题目背景是
已知二次曲面方程为 x^2/a^2+y^2/b^2+z^2/c^2=d,要求讨论参数a,b,c,d 对其形状的影响并画出
图形。 展开
展开全部
if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN;
首先这个后面应该还有个end 才是完整的if else结构!
语句的整体意袭慎思是拍郑敬:如果 矩阵 z([k-1:k+1],[j-1:j+1] 所有的虚部都不是0 则将NaN赋值给z1(k,j);丛埋
在MATLAB 中NaN就是Not-a-Number ,这个应该懂吧?
all
参考程序:
k=2;
j=2;
z=magic(4);
z(1:3,1:3)=i
if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN
end
z=magic(4);
z(1:3,1:2)=i
if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN
end
首先这个后面应该还有个end 才是完整的if else结构!
语句的整体意袭慎思是拍郑敬:如果 矩阵 z([k-1:k+1],[j-1:j+1] 所有的虚部都不是0 则将NaN赋值给z1(k,j);丛埋
在MATLAB 中NaN就是Not-a-Number ,这个应该懂吧?
all
参考程序:
k=2;
j=2;
z=magic(4);
z(1:3,1:3)=i
if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN
end
z=magic(4);
z(1:3,1:2)=i
if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询