为什么不可能增加excel readtable范围?
2 Ansichten(30天)的
Altere Kommentare anzeigen
大家好!
为什么不可能增加excel读表范围内我的情况吗?
我有一个excel电子表格(附件)我从中抽取数据。
我的挑战是,我只能使用固定范围(A1: AG88),
当我尝试添加一列excel文件,和尝试,A1: AH88,我得到以下错误消息:
错误使用MathsWorksQuestion(第81行)
使用”。变量的多个级别的不支持加下标。金宝app在直接使用括号加下标
表代替。
我使用的代码
% %从Excel初始化和读取数据
clc
清晰的
clf
RawData = readtable (“ExperimentalDatabase.xlsx”,“范围”,“A1: AH88”);
% %提取实验数据
%创建一个名为“芯片”的结构
% = = >字段结构将得到“fields_names”
% = = >字段名称将对应于萃取压力
% = = >即:
%的芯片。Entrapped_0对应于免费的酒
%的芯片。Entrapped_1提取对应于一个2.5吨的压力
%的芯片。Entrapped_2对应于一个提取5吨的压力
%的芯片。Entrapped_3对应于一个提取8吨的压力
field_names = {“FreeLiquor”,“Entrapped_1”,“Entrapped_2”,“Entrapped_3”};
extraction_pressure = [0、2.5、5、8);
%为芯片结果创建一个循环在不同萃取压力
为l = 1:长度(extraction_pressure)
%指数为每个粒度分为芯片原始数据
指数=找到(strcmp (RawData.ParticleSize,“芯片”)…%每提取压力
* (RawData。EntrappedLiquorSqueezing_tons_ = = extraction_pressure (l)));
%创建一个“临时”感兴趣的所有芯片的数据子集
Temp = RawData(指数);
%组织数据的最佳方法,它将适合您的需求,例如:
%的时间:“烹饪时间”写进一个向量
芯片。(field_names {1})。时间= Temp.CookingTime_min_;
%常数数据:保存数据,在“描述”结构保持不变
芯片。(field_names {1})。描述=结构(“T”Temp.CookingTemperature__C_ (1)…
“P”Temp.CookingPressure_bar_ (1)…
“WoodMass”Temp.WoodMass_g_ (1)…
“SteamMass”Temp.SteamMass_g_ (1)…
“Na2SO3ODWBasis”Temp.Na2SO3ODWBasis___ (1)…
“Na2CO3ODWBasis”Temp.Na2CO3ODWBasis___ (1)…
“LiquidToWoodRatio”Temp.LiquidToWoodRatio (1)…
“InitialNa2SO3_g_L_”,Temp.InitialNa2SO3_g_L_ (1));
% Redundent临时变量:移除它们
Temp = removevars (Temp, {“日期”,…
“Run_”,…
“ParticleSize”,…
“WoodMass_g_”,…
“SteamMass_g_”,…
“Na2SO3ODWBasis___”,…
“Na2CO3ODWBasis___”,…
“LiquidToWoodRatio”,…
“CookingTime_min_”,…
“CookingTemperature__C_”,…
“CookingPressure_bar_”,…
“EntrappedLiquorSqueezing_tons_”,…
“ID_”});
%感兴趣的字段名称:保存在“字段”
字段=字段名(临时);
%那么重要字段名称:删除它们
字段([1,21日,22日,23日])= [];
%找到主要的实验,即当Repeat_ = 0
Rep0 =找到(Temp。Repeat_ = = 0);
%实验与特定时间有关
为i = 1:长度(Rep0)
%找到所有重复与特定的时间有关
k =找到(芯片。(field_names {l})。时间= =芯片。(field_names {l}) .Time (Rep0(我)));
%创建字段
为j = 1:长度(字段)
%单元阵列包含个人的价值观
芯片。(field_names {l}) .Repeats。(字段{j}){我}= Temp。(字段{j}) (k);
试一试
%尝试的意思
芯片。(field_names {l}) .Mean。(字段{j}) (i) =意味着(Temp。(字段{j}) (k));
%尝试一个标准差
芯片。(field_names {l}) . std。(字段{j}) (i) =性病(Temp。(字段{j}) (k));
抓
结束
结束
结束
%去除redunandant时间点
芯片。(field_names {1})。时间=独特(芯片。(field_names {l}) .Time);
结束
,
2 Kommentare
Akzeptierte Antwort
dpb
我2021年9月27日吗
错误消息没有问的吗?这是冒充,看着上面写的,不过……它有与线
芯片。(field_names {l}) .Repeats。(字段{j}){我}= Temp。(字段{j}) (k);
它失败了
j = 20
因为这个名字
“变量”
这是最后一个元素的值的吗
field_names
和
字段
数组要么不存在
芯片
结构体
也没有
临时
表。
2 Kommentare
dpb
我2021年9月28日吗
代码太复杂我不试图找出逻辑是它试图做什么,具体地说,但是这两个数组包含字段名stuct和表将元素值,实际上是在两个。
问题不是指数的值数组的内容。重新排序的两个数组,因为他们现在把字符串
“变量”
首先,它将失败在第一个通过,而不是最后一个相同的错误消息……所以,你可以
j
大如你所愿但敌我识别(当且仅当)现存的所有变量。