位置2处的索引超过边界总数matlab,位置 2 处的索引超出数组边界(不能超出 5)。 出错 Untitled (line 59) Q3(1,p)=Q3(1,n);...

初学者在MATLAB中遇到错误:位置2处的索引超过边界总数。代码涉及到矩阵运算和迭代求解,尝试通过调整变量和条件判断来解决数组维度不匹配的问题。已附带详细代码和问题描述。
部署运行你感兴趣的模型镜像

本帖最后由 839159742@qq.co 于 2020-11-21 11:15 编辑

位置 2 处的索引超出数组边界(不能超出 5)。

出错 Untitled (line 59)

Q3(1,p)=Q3(1,n);

——————————————————————————————————————————————这是问题描述

刚学习MATLAB,应该是数组维度不匹配的原因,希望坛友可以帮忙解决

——————————————————————————————个人猜测

clear

%---------------------Known Condition Parameters-----------------------%

V1=1.05;

LA1=0;

P2=-0.9;

Q2=-0.5;

P3=0.6;

P4=-0.4;

Q4=-0.1;

Y=[0.065-3.5i,-0.04+2i,-0.005+0.5i,-0.02+1i;-0.04+2i,0.06-4i,-0.02+2i,0;-0.005+0.5i,-0.02+2i,0.035-3.5i,-0.01+1i;-0.02+1i,0,-0.01+1i,0.03-2i];%Admittance Matrix

%---------------------Known Condition Parameters-----------------------%

%---------------------The First Iteration------------------------------%

V4=zeros(1,3);% Initial V4. The assumed initial variable.

V3=zeros(1,3);% Initial V3. The assumed initial variable.

V2=zeros(1,3);% Initial V2. The assumed initial variable.

Q3=zeros(1,3);% Initial Q3. The assumed initial variable.

V4(1,1)=1;% Assume V4 is 1 for first iteration

V3(1,1)=1;% Assume V3 is 1 for first iteration

V2(1,1)=1;% Assume V2 is 1 for first iteration

LA4=zeros(1,3);

LA3=zeros(1,3);

LA2=zeros(1,3);

counter=1;

diff4=1;

diff3=1;

diff2=1;

while 1

n=counter;

p=counter+1;

%----------------The Calculation about V4

if diff4<10^(-4)

V4(1,p)=V4(1,n);

LA4(1,p)=LA4(1,n);

else

V4 (1,p)=(((P4-Q4.*1i)./conj(V4 (1,n)))-(Y(4,1).*V1)-(Y(4,2).*V2 (1,n))-Y(4,3).*V3(1,n))./(Y(4,4)); %Calculate V4

LA4(1,p)=atan(imag(V4 (1,p)./real(V4 (1,p)))); %Load angle of V4

diff4=abs(LA4(1,p)-LA4(1,n));

end

if diff2<10^(-4)

V2(1,p)=V2(1,n);

LA2(1,p)=LA2(1,n);

else

V2 (1,p)=(((P2-Q2.*1i)./conj(V2 (1,n)))-(Y(2,1).*V1)-(Y(2,3).*V3 (1,n))-Y(2,4).*V4(1,p))./(Y(4,4)); % Calculate V2

LA2(1,p)=atan(imag(V2 (1,p)./real(V2 (1,p)))) ;%Load angle of V3

diff2=abs(LA2(1,p)-LA2(1,n));

end

if diff3<10^(-4)

V3(1,p)=V3(1,n);

LA3(1,p)=LA3(1,n);

Q3(1,p)=Q3(1,n);

else

Q3 (1,n)=-imag(conj(V3(1,n)).*(Y(3,1).*V1+Y(3,2).*V2 (1,n)+Y(3,3).*V3 (1,n)+Y(3,4).*V4(1,n)));% Calculate Q3

V3 (1,p)=(((P3-Q3(1,n).*1i)./conj(V3 (1,n)))-(Y(3,1).*V1)-(Y(3,2).*V2 (1,p))-Y(3,4).*V4(1,p))./(Y(3,3)); % Calculate V3

LA3(1,p)=atan(imag(V3 (1,p)./real(V3 (1,p)))) ;

V3(1,p)=1.*cos(LA3(1,p))+1i.*sin(LA3(1,p));

diff3=abs(LA3(1,p)-LA3(1,n));

end

if diff4<10^(-4)&&diff3<10^(-4)&&diff2<10^(-4)

break;

end

counter=counter+1;

end

———————————————————————————————————————————————————————这是代码

文件也上传了,MATLABR2020a版本

再次谢谢大家

6712fa43d918eeacb445e51bf896eabe.gif

2020-11-21 11:15 上传

点击文件名下载附件

2.34 KB, 下载次数: 0

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值