MATLAB生成的mat数据如何用origin绘制成图片

前言

MATLAB一般用来仿真做数学计算,有时候我们借助MATLAB自身强大的绘图功能就可以绘制出漂亮的插图,但是有时候MATLAB也无能为力,所以就要用到专门的绘图软件origin,但是有些小伙伴就犯了难了,如何将MATLAB生成的数据用origin绘制出来呢?下面就跟着我一起来探索吧。

举例

下面这段代码是为了测试用的,我们的目的是要在origin上画出y=x,y=2x,y=3x这三条曲线,横坐标x的取值范围为【1,100】,纵坐标y的数据则保存在result.mat文件中,代码如下:

%y为100*3大小的矩阵  第123列分别用于存放y=x、y=2x、y=3x的结果

y=zeros(100,3);   
for x=1:100
    y(x,1)=x;     %  y=x
    y(x,2)=2*x;   %  y=2x
    y(x,3)=3*x;   %  y=3x
end
save result  y;  %将y矩阵保存为.mat文件,文件名为result

在MATLAB的中工作区中的效果如下:在这里插入图片描述
文件夹中也生成了对应的文件
在这里插入图片描述
然后我们打开origin软件,如果没有工作表,那么需要新建一个。在这里插入图片描述
由于y中的数据有3列,但是Book1中只有一列y,所以我们还需要新增两列,在Book1的空白部分右键选择新增一列在这里插入图片描述
由于Book1的长度只有32行,而自变量x的长度为100,因此需要将行数增加值100,此处光标选最后一行,然后按回车键即可自动增加行数。在这里插入图片描述
在这里插入图片描述
然后用MATLAB打开result.mat文件,将y矩阵中的结果复制再粘贴到Book1中。在这里插入图片描述
在这里插入图片描述
x的值也简单,类似于excel,可以点击右下角的加号进行下拉(当然,你也可以提前用MATLAB保存在工作区中)。
在这里插入图片描述
当所有数据都准备好之后,就可以生成图片了,首先选中我们准备的数据,然后点击左下角的绘图方式。在这里插入图片描述
效果如下图所示:在这里插入图片描述
如果在Book1中加入以下描述,图片也会不一样哦,这点可以根据自己的需要进行添加,或者生成了图片之后再添加也是一样的。在这里插入图片描述
除此之外,我们还可以对图中的坐标轴,线条类型,线条尺寸,中英文字体的格式进行详细的修改,origin的功能真的很丰富,哪怕是很小的图也能很清晰,期待你的探索。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最后

如果需要导出的画,建议按下面的方式进行导出。在这里插入图片描述
在这里插入图片描述


制作不易,觉得本文内容对你有所帮助的话,希望能点赞收藏,你的鼓励是对我最大的支持!还可以看看我的其他博客,说不定会对你有所帮助!

### 使用 `nn.Sequential` 构建神经网络 在 PyTorch 中,`nn.Sequential` 是一种便捷的方式用于创建按顺序执行的一系列层组的神经网络。通过这种方式可以简化代码结构并提高可读性。 #### 导入必要的库 为了使用 `nn.Sequential` 需要先导入 PyTorch 及其子模块: ```python import torch import torch.nn as nn ``` #### 定义简单的前馈神经网络 下面展示了一个具体的例子来说明如何利用 `nn.Sequential` 创建一个多层感知器(MLP),该模型接收大小为 28×28 的输入图像,并最终输出分类概率分布[^1]: ```python model = nn.Sequential( nn.Linear(28 * 28, 32), nn.ReLU(), nn.Linear(32, 10), nn.Softmax(dim=1) ) print("Model structure:\n", model) ``` 这段代码定义了一种线性的变换序列,其中包含了两个全连接层以及激活函数 ReLU 和 Softmax 函数。第一个线性层将输入维度从 \(784\) 映射到了 \(32\) 维;第二个线性层进一步映射至 \(10\) 类别的预测向量上,并应用了 softmax 来获得类别间的相对可能性得分。 #### 处理输入张量形状调整 当处理实际数据集时,通常会遇到不同尺寸的数据样本。对于上述案例中的 MNIST 数据集而言,每幅图片都是灰度图形式存储的二维数组 (28 × 28),但在传递给模型之前需要将其展平一维向量以便于计算矩阵乘法操作。这可以通过调用 `.view()` 方法实现: ```python x_input = torch.randn(2, 28, 28, 1) # 模拟两批随机数作为测试输入 reshaped_x = x_input.view(x_input.size()[0], -1) # 将最后三个轴合并为单个特征向量 print("Reshaped input shape:", reshaped_x.shape) ``` 这里 `-1` 表示自动推断剩余维度的数量以保持原始批量大小不变。因此如果原批次中有两张图片,则经过重塑后的张量应具有 `[batch_size, flattened_features]` 形状,即 `(2, 784)`。 #### 执行前向传播过程 一旦完了对输入数据预处理工作之后就可以直接调用模型对象来进行推理运算: ```python with torch.no_grad(): # 关闭梯度跟踪模式因为这是评估阶段而非训练期间 y_pred = model.forward(reshaped_x) print("Predicted probabilities:\n", y_pred) ``` 注意,在此上下文中使用了 `torch.no_grad()` 上下文管理器关闭了反向传播机制,因为在仅做预测时不涉及参数更新所以没有必要开启它。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫恋蝶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值