MATLAB中的转置操作及其必要性

MATLAB中的转置操作及其必要性

原始数据

matlab 复制代码
x_data = [0, 50, 100, 200, 400, 600, 800, 1000, 1500, 2000, 3000, 5000]; 
y_data = [0, 0.25, 0.5, 0.85, 1.2, 1.35, 1.45, 1.52, 1.62, 1.68, 1.75, 1.85];

原始数据是行向量.

当调用plot命令时, 且x_datay_data是一维向量, 即是一个 1×n1 \times n1×n(行)或 n×1n \times 1n×1(列)的向量,MATLAB将会正确绘制图像.

matlab 复制代码
%% 原始数据
x_data = [0, 50, 100, 200, 400, 600, 800, 1000, 1500, 2000, 3000, 5000]; 
y_data = [0, 0.25, 0.5, 0.85, 1.2, 1.35, 1.45, 1.52, 1.62, 1.68, 1.75, 1.85];




%% 查看维度
disp('x_data 维度:'); disp(size(x_data)); % 输出 [1, 12](1行12列)
disp('y_data 维度:'); disp(size(y_data)); % 输出 [1, 12](1行12列)

plot(x_data, y_data);

%% 转置

x_data = x_data';
y_data = y_data';

figure;

% 两者绘制的图像一样
plot(x_data, y_data);

转置

MATLAB 中,单引号 ' 表示复共轭转置(也叫 Hermitian 转置), 对于实数数组, 它的作用就是普通的行列转置(将行向量转为列向量, 或列向量转为行向量); 若为复数数组, 它会先对元素取共轭, 再进行转置.

如果需要严格的普通转置(不进行共轭操作), 可使用点单引号 .', 对于实数数组而言, '.' 效果完全一致.

相关推荐
高洁012 小时前
图神经网络初探(2)
人工智能·深度学习·算法·机器学习·transformer
爱装代码的小瓶子2 小时前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
思成Codes2 小时前
数据结构:基础线段树——线段树系列(提供模板)
数据结构·算法
KoalaShane2 小时前
El-slider 增加鼠标滚动滑块事件
开发语言·前端·javascript
智算菩萨2 小时前
【Python进阶】搭建AI工程:Python模块、包与版本控制
开发语言·人工智能·python
C_心欲无痕3 小时前
vue3 - watchSyncEffect同步执行的响应式副作用
开发语言·前端·javascript·vue.js·vue3
墨雪不会编程3 小时前
C++【string篇1遍历方式】:从零开始到熟悉使用string类
java·开发语言·c++
特立独行的猫a3 小时前
QT开发鸿蒙PC应用:环境搭建及第一个HelloWorld
开发语言·qt·harmonyos·环境搭建·鸿蒙pc
a努力。3 小时前
字节Java面试被问:系统限流的实现方式
java·开发语言·后端·面试·职场和发展·golang