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 转置), 对于实数数组, 它的作用就是普通的行列转置(将行向量转为列向量, 或列向量转为行向量); 若为复数数组, 它会先对元素取共轭, 再进行转置.

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

相关推荐
liliangcsdn6 小时前
LLM如何与mcp server交互示例
linux·开发语言·python
军军君016 小时前
Three.js基础功能学习十五:智能黑板实现实例二
开发语言·前端·javascript·vue.js·3d·threejs·三维
维齐洛波奇特利(male)6 小时前
@Pointcut(“execution(* com.hdzx..*(..))“)切入点与aop 导致无限循环
java·开发语言
郝学胜-神的一滴6 小时前
[简化版 GAMES 101] 计算机图形学 04:二维变换上
c++·算法·unity·godot·图形渲染·unreal engine·cesium
ZC跨境爬虫6 小时前
海南大学交友平台开发实战day7(实现核心匹配算法+解决JSON请求报错问题)
前端·python·算法·html·json
来日可期13146 小时前
C/C++ 反常识记录(1)—— 那些容易踩坑的语法细节
c语言·开发语言·c++
计算机安禾6 小时前
【数据结构与算法】第41篇:图论(五):拓扑排序与关键路径
c语言·数据结构·c++·算法·图论·visual studio
Q741_1476 小时前
每日一题 力扣 1320. 二指输入的的最小距离 动态规划 C++ 题解
c++·算法·leetcode·动态规划
实心儿儿7 小时前
C++ —— C++11(2)
开发语言·c++
wfbcg7 小时前
每日算法练习:LeetCode 76. 最小覆盖子串 ✅
算法·leetcode·职场和发展