永发信息网

matlab中 出现??? Subscripted assignment dimension mismatch.求高手帮忙 谢谢

答案:2  悬赏:0  手机版
解决时间 2021-01-25 04:05
clear;clc;
[FileName,PathName]=uigetfile('*.txt','C:\Users\admin\Desktop');
fid=fopen([PathName FileName]);
temp=textscan(fid,'%s %s %s %s');
fclose(fid);
data=[];
for i=1:3
for j=1:23
data(j,i)=str2num('temp{1,i+1}{j,1}');
end
end
[FileName,PathName]=uigetfile('.txt','C:\Users\admin\Desktop');
fid=fopen([PathName FileName]);
dataw=textscan(fid,'%s %s %s %s');
fclose(fid);
WX=ones(32,42);
k1=0;k2=0;k3=0;k4=0;
R=rand(32,42)*10;
for j=1:2:32
for i=1:23
if temp{1,1}{i,1}==dataw{1,1}{(j-1)/2+1,1};
k1=i;
break;
end
end
for i=1:23
if temp{1,1}{i,1}==dataw{1,2}{(j-1)/2+1,1};
k2=i;
break;
end
end
for i=1:23
if temp{1,1}{i,1}==dataw{1,3}{(j-1)/2+1,1};
k3=i;
break;
end
end
for i=1:23
if temp{1,1}{i,1}==dataw{1,4}{(j-1)/2+1,1};
k4=i;
break;
end
end
WX(j,1)=sqrt(sum((data(k1,:)-data(k2,:)).^2));
wc=0.01+WX(j,1)*R(j,i)*10^-5;
WX(j,1)=WX(j,1)+wc;
WX(j,2:4)=data(k1,:);
WX(j,5:7)=data(k2,:);
WX(j,8)=sqrt(sum((data(k1,:)-data(k3,:)).^2));
wc=0.01+WX(j,8)*R(j,i)*10^-5;
WX(j,8)=WX(j,8)+wc;
WX(j,9:11)=data(k1,:);
WX(j,12:14)=data(k3,:);
WX(j,15)=sqrt(sum((data(k1,:)-data(k4,:)).^2));
wc=0.01+WX(j,15)*R(j,i)*10^-5;
WX(j,15)=WX(j,15)+wc;
WX(j,16:18)=data(k1,:);
WX(j,19:21)=data(k4,:);
WX(j,22)=sqrt(sum((data(k2,:)-data(k3,:)).^2));
wc=0.01+WX(j,22)*R(j,i)*10^-5;
WX(j,22)=WX(j,22)+wc;
WX(j,23:25)=data(k2,:);
WX(j,26:28)=data(k3,:);
WX(j,29)=sqrt(sum((data(k2,:)-data(k4,:)).^2));
wc=0.01+WX(j,29)*R(j,i)*l0^-5;
WX(j,29)=WX(j,29)+wc;
WX(j,30:32)=data(k2,:);
WX(j,33:35)=data(k4,:);
WX(j,36)=sqrt(sum((data(k3,:)-data(k4,:)).^2));
wc=0.01+WX(j,36)*R(j,i)*10^-5;
WX(j,36)=WX(j,36)+wc;
WX(j,37:39)=data(k3,:);
WX(j,40:42)=data(k4,:);
end
Gu=zeros(96,96);
E=zeros(6,6);
a=zeros(2,3);
for i=1:2:32
E(1,1)=(WX(i,2)-WX(i,5))/WX(i,1);
E(1,2)=(WX(i,3)-WX(i,6))/WX(i,1);
E(1,3)=(WX(i,4)-WX(i,7))/WX(i,1);
E(1,4)=1;
a(1,:)=WX(i,2:4)-WX(i,30:32);
a(2,:)=WX(i,5:7)-WX(i,33:35);
E(1,5)=dot(a(1,:),a(2,:));
a(1,:)=WX(i,2:4)-WX(i,37:39);
a(2,:)=WX(i,5:7)-WX(i,40:42);

Gu(6*((i-1)/2+1-1)+1:6*((i-1)/2+1-1)+6,6*((i-1)/2+1-1)+1:6*((i-1)/2+1-1)+6)=E;
end
K=zeros(96,1);
PK=[];
k=0;
for j=1:2:32
for i=1:7:36
k=k+1;
PK(1,k)=WX(j,i)^2;
end
end
PK(1,97)=Sum(PK);
K=PK(1,1:96)./PK(1,97);
A=diag(inv(Gu));
B=K'.*A;
B=abs(B);
D=[];
for i=1:16
D0=B((i-1)*6+1)+B((i-1)*6+2)+B((i-1)*6+3)+B((i-1)*6+4)+B((i-1)*6+5)+B((i-1)*6+6);
D=[D;D0];
end
Dop=sort(D);
for i=1:16
for j=1:16
if Dop(i,1)==D(j,1)
Dop(i,3)=j;
break;
end
end
end
wc=1;
Dop(:,4)=Dop(:,1).*wc;
n=16-11;
Dop(1:11,2)=ones(11,1);
Dop(16-n+1:16,2)=zeros(n,1);
Dop0=sum(Dop(1:11,1));
这是一个GPS控制网优化设计程序代码 总显示 data(j,i)=str2num('temp{1,i+1}{j,1}');错误 或者??? Subscripted assignment dimension mismatch. 求高手指点 再谢
最佳答案
您好,Y_k_1(p,q)=b*exp(-a(p)*k(q))+c
这里面的c是一个数组,一个数和一个数组相加赋值给一个数,那是不对的!
Subscripted assignment dimension mismatch.
这个就是下标不匹配!
主要是你的矩阵尺寸不太一致
建议你使用DEBUG调试程序吧
在你出问题的程序行设置断点
运行程序F5
程序会在断点处停下来,然后用鼠标指向该变量将会显示其尺寸(或在命令窗口查看)
若不一致,则修改,若是一致的
就单步运行F10
继续查找
【建议】多设置几个断点。
全部回答
y_k_1(p,q)=b*exp(-a(p)*k(q))+c 这里面的c是一个数组,一个数和一个数组相加赋值给一个数,那是不对的! subscripted assignment dimension mismatch. 这个就是下标不匹配!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
五金电器商店地址好找么,我有些事要过去
给别人寄快递 运费能不能让对方付
有个热铺网www.repuwang.com这个网站里的淘宝
以下哪种是防火玻璃,可起到隔绝火势的作用?A
求法证先锋1,2,3 部国语高清的打包下载。23
They always go shopping on weekends.(就划
宝贝.日记儿童精致摄影会馆地址好找么,我有
所谓工程造价的有效控制,具体说,就是()。A.
张家港市港超水电五金商店地址好找么,我有些
怎么在琉璃神社下动漫啊!!求指点!
青春期男孩12周岁,身高150厘米,体重115斤,
朝阳卫浴马桶怎么样,好不好用呢?
酷宝宝儿童摄影地址有知道的么?有点事想过去
长城电工电器五金装潢商店地址好找么,我有些
求一部早期动作片电影
推荐资讯
拉土车扰民应该那个部门管
这几天正在销售的惠尔普空调是谁代工的?质量
亚欧板块和印度洋板块交界处是哪里
威海公交首发时间跟末班车时间
天津地铁三号线从铁东路做到那站离南开玉泉路
下列对肝脏功能叙述不正确的一项是DA. 能把多
想要买手机唉,哪个转运公司比较好,美版的,
眼镜运用什么物理原理?
高达seed中那个红色可变形成战斗机的量产高达
为什么瘪气球在瓶子里吹不大?行不.
微信群打南昌麻将怎样下载的
每天早上流清鼻涕,是怎么回事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?