无法执行赋值,因为左侧的索引与右侧的大小不兼容。

标签: 问题反馈——未支持的函数 问题反馈——未实现的功能

Peter123 2025-04-14 10:00:17

clc

clear all

close all

pt = 'D:\MATLABWOKSPACE\RAPE_Preprocesed\'

subpt = 'CYC_01\'

data = 'CYC01Inc60_L_data.xlsx'

filename = strcat([pt,subpt,data])

% filename ='E:\MatlabWorkplace\RAPE_Preprocesed\CYC_01\CYC01Inc60_L_data.xlsx';

sq =1;

[data, txt, raw] = xlsread(filename);

HH = [data(:,2)] + [data(:,3)].*1i;

HV = [data(:,4)] +[data(:,5)].*1i;

VH = [data(:,6)]+[data(:,8)].*1i;

VV = [data(:,9)] +[data(:,10)].*1i;

S(:,:,1)=HH;

S(:,:,2)=HV;

S(:,:,3)=VH;

S(:,:,4)=VV;


执行上述片段,报错如下:


pt = 


    'D:\MATLABWOKSPACE\RAPE_Preprocesed\'



subpt = 


    'CYC_01\'



data = 


    'CYC01Inc60_L_data.xlsx'



filename = 


    'D:\MATLABWOKSPACE\RAPE_Preprocesed\CYC_01\CYC01Inc60_L_data.xlsx'


无法执行赋值,因为左侧的索引与右侧的大小不兼容。


位于文件 E:\Baltamtica\pol_compention.m (第 17 行)

S(:,:,1)=HH;

本片段在Matlab可以执行


回复

社区小助手 2025-04-16 #1

这个问题原因可能是变量S未预定义 ,导致第一次赋值时维度不匹配,可以通过显式预定义S的维度来解决。但因为用到的是您的本地的CYC01Inc60_L_data.xlsx文件,我们这边不好准确定位复现,如果按照这个方法没有解决就需要您提供下这个文件,我们再看看问题所在

回复

重置 提交