matlab 程序问题
A=xlsread('E:\...\A\A题城市表层土壤重金属污染分析\A附件_数据','附件1','a4:e322');B=xlsread('E:\...\A\A题城市...
A=xlsread('E:\...\A\A题 城市表层土壤重金属污染分析\A附件_数据','附件1','a4:e322');
B=xlsread('E:\...\A\A题 城市表层土壤重金属污染分析\A附件_数据','附件2','b4:i322');
%限定数据调用范围
ss={'As','Cd','Cr','Cu','Hg','Ni','Pb','Zn'};
x=A(:,2);
y=A(:,3);
for k=1:8
z=B(:,k);
[X,Y,Z]=griddata(x,y,z,linspace(0,30000),linspace(0,20000),'v4');%插值
Z=Z';
for i=2:99
for j=2:99
if(Z(i,j)>Z(i-1,j))&&(Z(i,j)>Z(i+1,j))&&(Z(i,j)>Z(i,j-1))&&(Z(i,j)>Z(i-1,j-1))&&(Z(i,j)>Z(i-1,j+1))&&(Z(i,j)>Z(i+1,j-1))&&(Z(i,j)>Z(i+1,j+1))
Z(i,j)=1000;
end;
end;
end;
[ii,jj]=find(i==1000);
disp(ii');disp(jj');
subplot(2,2,k),scatter(ii,jj,'*'),title(ss{k})
end
问题:
Z赋值以后不应该是一个100*100的矩阵吗?怎么提示说是100*1的矩阵 展开
B=xlsread('E:\...\A\A题 城市表层土壤重金属污染分析\A附件_数据','附件2','b4:i322');
%限定数据调用范围
ss={'As','Cd','Cr','Cu','Hg','Ni','Pb','Zn'};
x=A(:,2);
y=A(:,3);
for k=1:8
z=B(:,k);
[X,Y,Z]=griddata(x,y,z,linspace(0,30000),linspace(0,20000),'v4');%插值
Z=Z';
for i=2:99
for j=2:99
if(Z(i,j)>Z(i-1,j))&&(Z(i,j)>Z(i+1,j))&&(Z(i,j)>Z(i,j-1))&&(Z(i,j)>Z(i-1,j-1))&&(Z(i,j)>Z(i-1,j+1))&&(Z(i,j)>Z(i+1,j-1))&&(Z(i,j)>Z(i+1,j+1))
Z(i,j)=1000;
end;
end;
end;
[ii,jj]=find(i==1000);
disp(ii');disp(jj');
subplot(2,2,k),scatter(ii,jj,'*'),title(ss{k})
end
问题:
Z赋值以后不应该是一个100*100的矩阵吗?怎么提示说是100*1的矩阵 展开
2个回答
展开全部
不知道你的程序是要什么样的结果,单纯从代码来看,就是全角和半角的问题。我已经修改如下:
建立M文件eq1.m
function dy=eq1(x,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=1/5*sqrt(1+y(1)^2)/(1-x);
取x0=0,xf=0.9999,建立主程序如下:
x0=0;
xf=0.9999;
[x,y]=ode15s('eq1',[x0 xf],[0 0]);
plot(x,y(:,1),'b.')
hold on
y=0:0.01:2;
plot(1,y,'b*')
得到的图像是
打字不易,如满意,望采纳。
建立M文件eq1.m
function dy=eq1(x,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=1/5*sqrt(1+y(1)^2)/(1-x);
取x0=0,xf=0.9999,建立主程序如下:
x0=0;
xf=0.9999;
[x,y]=ode15s('eq1',[x0 xf],[0 0]);
plot(x,y(:,1),'b.')
hold on
y=0:0.01:2;
plot(1,y,'b*')
得到的图像是
打字不易,如满意,望采纳。
追问
我想用matlab搜索法,把三维值投影到二维,把之最高的标记出来,但是Z出来的结果是个一维数组,半角应该没问题我检查过的。不过还是感谢你的解答。如果知道问题所在告诉我,开始的两句是调用excel,数据就是建模城市表层土壤重金属污染分析的附件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询