表元素访问的问题

101(30天)
亚历克斯·K”class=
亚历克斯·K 2023年5月8日21:32
评论道: 亚历克斯·K2023年5月11日19:36
我正在读一个表从一个excel文件
T_Log_Pf = readtable (Log_Pf_path_fn);
但是编译器生成mxArray代替表,当我试图改变的元素
T_Log_Pf {1, {“sts_e”}}= 1;
或者从表中元素的值
x = T_Log_Pf.sts_e (1);
错误”单元格内容参考non-cell数组对象”。
什么以及应该如何纠正为了工作表?
矿石kompilator设置的问题是吗?
28日评论
亚历克斯·K”class=
亚历克斯·K 2023年5月11日19:36
@dpb 、同事,你好!
与表的延续问题,更多的出现:
1。如何初始化数组的名字表列使用m文件?
(例如:{“var1”“var2”“var3”})
我启动模型变量通过m文件运行之前运行该模型在仿真软件。万博1manbetx我想发起这个数组在同一个文件中。
初始化变量,我使用序列:
test_const = 万博1manbetxSimulink.Signal;
test_const。数据类型=“双”;
test_const。尺寸= 1;
test_const。复杂性=“真实”的;
test_const。SamplingMode =基于样本的;
test_const。InitialValue =' 0 ';
我想用这样的东西。
2。如何让一个常数的变量?
建议通过功能设定常量。
但可以有许多大量的表,必须减少仿真时间。因此,我不想把时间浪费在一个外部函数的输出,mxArray +外部函数可能会导致问题。
我发现一个选项来使用comand frose常数
test_const。时钟=“上”;
但这个命令没有为我工作。

登录置评。

答案(1)

Sulaymon Eshkabilov”class=
Sulaymon Eshkabilov 2023年5月9日在1:08
使用这个标准语法读取数据从MS Excel表数组:
% 1:方法简单
MY_file =“DATA_Exp.xlsx”;%注意文件扩展名
D = readtable (MY_file);%从sheet1读取所有数据如果sheet1包含任何数据
%的方式2:更具体一点
%从表读取数据称为“数据”,在细胞A1 D232所有数据
D = readtable (MY_file表=“数据”范围=“A1: D232”);
%的方式3:更具体
%读取数据表被称为“数据”并在细胞A1 D232所有数据,
从数据表标题%和保存变量名
D = readtable (MY_file表=“数据”范围=“A1: D232”VariableNamingRule =“保存”);
% %访问表数组元素:
CELL1 = D {1}%细胞1
CELL1 =1×1单元阵列
{' NSW1 '}
COL2 = D {: 2}%第2列
COL2 =231×1 datetime数组
01 - 1月- 2019年00:30:00 01 - 1月- 2019年01:00:00 01 - 1月- 2019年01:30:00 01 - 1月- 2019年02:00:00 01 - 1月- 2019年02:30:00 01 - 1月- 2019年03:00:00 01 - 1月- 2019年03:30:00 01 - 1月- 2019年04:00:00 01 - 1月- 2019年04:30:00 01 - 1月- 2019年05:00:00 01 - 1月- 2019年05:30:00 01 - 1月- 2019年06:00:00 01 - 1月- 2019年06:30:00 01 - 1月- 2019年07:00:00 01 - 1月- 2019年07:30:00 01 - 1月- 2019年08:00:00 01 - 1月- 2019年08:30:00 01 - 1月- 2019年09:00:00 01 - 1月- 2019年09:30:00 01 - 1月- 2019年10:00:00 01 - 1月- 2019年10:30:00 01 - 1月- 2019年11:00:00 01 - 1月- 2019年11:30:00 01 - 1月- 2019年12:00:00 01 - 1月- 2019年12:30:00 01 - 1月- 2019年13:00:00 01 - 1月- 2019年13:30:00 01 - 1月- 2019年14:00:00 01 - 1月- 2019年14:30:00 01 - 1月- 2019 15:00:00
COL34 = D {: 3:4}% 3和4列
COL34 = 231×2
1.0 e + 04 * 0.7458 0.0067 0.7243 0.0069 0.6919 0.0073 0.6677 0.0070 0.6513 0.0067 0.6400 0.0064 0.6317 0.0062 0.6242 0.0050 0.6229 0.0054 0.6198 0.0050
%管理方式:
Cell01 = D.Reg (1)%细胞1
Cell01 =1×1单元阵列
{' NSW1 '}
Col02 = D.Time_Day (:)%第2列
Col02 =231×1 datetime数组
01 - 1月- 2019年00:30:00 01 - 1月- 2019年01:00:00 01 - 1月- 2019年01:30:00 01 - 1月- 2019年02:00:00 01 - 1月- 2019年02:30:00 01 - 1月- 2019年03:00:00 01 - 1月- 2019年03:30:00 01 - 1月- 2019年04:00:00 01 - 1月- 2019年04:30:00 01 - 1月- 2019年05:00:00 01 - 1月- 2019年05:30:00 01 - 1月- 2019年06:00:00 01 - 1月- 2019年06:30:00 01 - 1月- 2019年07:00:00 01 - 1月- 2019年07:30:00 01 - 1月- 2019年08:00:00 01 - 1月- 2019年08:30:00 01 - 1月- 2019年09:00:00 01 - 1月- 2019年09:30:00 01 - 1月- 2019年10:00:00 01 - 1月- 2019年10:30:00 01 - 1月- 2019年11:00:00 01 - 1月- 2019年11:30:00 01 - 1月- 2019年12:00:00 01 - 1月- 2019年12:30:00 01 - 1月- 2019年13:00:00 01 - 1月- 2019年13:30:00 01 - 1月- 2019年14:00:00 01 - 1月- 2019年14:30:00 01 - 1月- 2019 15:00:00
Col034 = [D。总,D.RRP]% Column3和4
Col034 = 231×2
1.0 e + 04 * 0.7458 0.0067 0.7243 0.0069 0.6919 0.0073 0.6677 0.0070 0.6513 0.0067 0.6400 0.0064 0.6317 0.0062 0.6242 0.0050 0.6229 0.0054 0.6198 0.0050
1评论
亚历克斯·K”class=
亚历克斯·K 2023年5月9日8分到达
编辑:亚历克斯·K 2023年5月9日在42
谢谢你的详细的回答。
但工作时的标准语法从函数不为我工作。
看到我的例子…

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的