Matlab 处理中的一个struct 数组怎么用code放入到excel里

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab 处理中的一个struct 数组怎么用code放入到excel里相关的知识,希望对你有一定的参考价值。

用了xlswrite但是觉得struct 的数组要转换成cell的 用了struct2cell 但是是3*1*6 不是2维 求教急求

参考技术A 用matlab读或写excel数据的方法:
%
从excel文件中读数据
[N,
T,
rawdata]
=
xlsread(file,
sheet,
range);
%
sheet

range可以省略
file是excel文件的地址,sheet是excel文件中指定的工作表,
range是工作表中要读取数据的范围
N是数字型数据,
T是文件型数据,
rawdata是所有数据(cell型)
%
将数据写入excel文件
xlswrite(filename,A,sheet,range);
%
A就是待写的数据

[N,
T,
rawdata]
=
xlsread('d:\tmp.xls',
'sheet1',
'a1:b2');
xlswrite('d:\tmp.xls',
rawdata,
'sheet2');
%
需保证文件'tmp.xls'未被打开
winopen('d:\tmp.xls');
%
打开excel文件

MATLAB中批量处理矩阵

我在MATLAB中创建了例如:d1,d2,d3......这样名称的矩阵,现在我想用循环语句批量处理它们,这些矩阵是怎么表示的(它们的名称的表示的格式是怎么样的)?麻烦给一个例子(比如从每个矩阵中取出(1,1)的值),谢谢。

例子:
d1=[1 2 3;
4 5 6]
[m,n]=size(d1) % m为矩阵行数 n为矩阵列数 即d1为2行3列矩阵
for i=1:m % 做循环 取矩阵中的每一个元素 进行运算
for j=1:n
d(i,j)=d1(i,j)*d1(i,j); %取d1中的第i行 第j列元素 做平方运算
end
end
d
-----------------------------------
例子的结果输出:
d1 =
1 2 3
4 5 6
m =
2
n =
3
d =
1 4 9
16 25 36
参考技术A 等价于:
eval(sprintf('c%d = a%d\n', [1:2; 1:2]))
不要这样定义变量,你应该定义三维矩阵a,或元胞数组a。
比如元胞数组a,就可以这样访问数据:
ai(:, 2)
参考技术B f(x) =∫(1->x) ln(1+t)/t dt

f(1/x) = ∫(1->1/x) ln(1+t)/t dt

let
u = 1/t
du = -(1/t^2) dt
dt = -du/u^2

∫(1->1/x) ln(1+t)/t dt
=∫(1->x) [ln(1+1/u)/(1/u) ] .[-du/u^2]
=-∫(1->x) [ln(1+1/u)/u ] .du
=-∫(1->x) [ln(1+1/t)/t ] dt
=-∫(1->x) ln[(t+1)/t] /t dt

f(x) + (1/x)
=∫(1->x) ln(1+t)/t dt -∫(1->x) ln[(t+1)/t] /t dt
=∫(1->x) lnt/t dt
=(1/2)[ (lnt)^2] |(1->x)
=(1/2)(lnx)^2
参考技术C 例如:
d1 = [2,1;0.2,3];
d2 = [3,4;0.25,1];

for i = 1:2
str = ['d',num2str(i),'(1,1)'];
disp(eval(str));
end
参考技术D

以上是关于Matlab 处理中的一个struct 数组怎么用code放入到excel里的主要内容,如果未能解决你的问题,请参考以下文章

matlab 怎么建立结构体数组?

matlab中怎么定义结构体

matlab中怎么定义结构体

matlab中struct怎么用

在matlab中怎么定义结构体?机构体的概念?

matlab 如何读取struct里面的double数组?