为什么不可能增加excel readtable范围?

2 Ansichten(30天)的
Dursman Mchabe
Dursman Mchabe 2021年9月26日
Kommentiert: dpb 我2021年9月28日吗
大家好!
为什么不可能增加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
Dursman Mchabe
Dursman Mchabe 我2021年9月27日吗
我想我误解了这个问题。

Melden您西奇,嗯祖茂堂kommentieren。

Akzeptierte Antwort

dpb
dpb 我2021年9月27日吗
错误消息没有问的吗?这是冒充,看着上面写的,不过……它有与线
芯片。(field_names {l}) .Repeats。(字段{j}){我}= Temp。(字段{j}) (k);
它失败了 j = 20 因为这个名字 “变量” 这是最后一个元素的值的吗 field_names 字段 数组要么不存在 芯片 结构体 也没有 临时 表。
2 Kommentare
dpb
dpb 我2021年9月28日吗
代码太复杂我不试图找出逻辑是它试图做什么,具体地说,但是这两个数组包含字段名stuct和表将元素值,实际上是在两个。
问题不是指数的值数组的内容。重新排序的两个数组,因为他们现在把字符串 “变量” 首先,它将失败在第一个通过,而不是最后一个相同的错误消息……所以,你可以 j 大如你所愿但敌我识别(当且仅当)现存的所有变量。

Melden您西奇,嗯祖茂堂kommentieren。

Weitere Antworten (0)

Kategorien

找到更多的在从MATLAB数据导入帮助中心文件交换

标签

社区寻宝

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

开始狩猎!

翻译的