MATLAB 循环保存.mat文件

在循环保存文件的时候,经常不知道怎么循环更改保存的文件名字,在网上搜了好久,找到两种比较有用的方法:

1. 执行5次循环,每次循环生存一个矩阵Amp.mat,分别保存为Am1,Am2。。。

2. Am_nor是一个已知的13页的三维数组,将每一页数组生成名为Am1,Am2......的矩阵


参考来源:http://blog.sina.com.cn/s/blog_e68017690102v53j.html

https://blog.csdn.net/qq1987924/article/details/46705767

要将MATLAB生成的一维`double`类型的`.mat`文件转换为C语言可读的`.dat`文件,你需要使用MATLAB的`save`函数保存数据,然后在C语言环境中使用适当的方法读取这些数据。这里提供一个MATLAB中的步骤,以及一种简单的C语言读取`*.dat`文件的方式。 首先,在MATLAB中,假设你的变量名为`data`: ```matlab % 假设data是一维double数组 data = [1, 2, 3, 4, 5]; % 将数据保存为dat文件 save('output_data', 'data'); ``` 这将创建一个名为`output_data.mat`的文件,其中包含一维double数组`data`。 接下来,为了在C语言中读取这个文件,你可以使用以下代码(假设有一个名为`read_dat.c`的C程序): ```c #include <stdio.h> int main() { FILE *fp; double *data = NULL; size_t num_elements; // 打开dat文件 fp = fopen("output_data.dat", "rb"); if (fp == NULL) { printf("Error opening file.\n"); return -1; } // 计算数据元素数量 fseek(fp, 0, SEEK_END); num_elements = ftell(fp) / sizeof(double); // double占8字节 fseek(fp, 0, SEEK_SET); // 分配内存并读取数据 data = (double*) malloc(num_elements * sizeof(double)); if (data == NULL) { printf("Memory allocation failed.\n"); fclose(fp); return -1; } fread(data, sizeof(double), num_elements, fp); fclose(fp); // 在这里你可以访问数据,例如打印出来 for (size_t i = 0; i < num_elements; i++) { printf("%.1f ", data[i]); } printf("\n"); // 释放内存 free(data); return 0; } ``` 这段C代码首先打开`.dat`文件,然后读取其长度(根据double的大小),分配相应的内存空间,接着读取整个数组,并在循环中显示每个元素。记得在完成操作后释放内存。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值