MATLAB如何画图
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍了MATLAB如何画图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。最近需要做点东西,其中一步就需要画上面这种图,如上
千家信息网最后更新 2025年12月02日MATLAB如何画图
这篇文章主要介绍了MATLAB如何画图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

最近需要做点东西,其中一步就需要画上面这种图,如上图所示,我想把左边的各个红色方块与右边所有的蓝色圆圈连线连起来。一般情况下我们都是用两层for循环然后plot,但是这篇推送将说明一下如何用arrayfun来完成该图的绘制。(arrayfun中嵌套着arrayfun)
实际上后来,我统计了一下 用for循环和用arrayfun这两种方法的运行的时间发现这两种方法耗时基本一样,甚至用for循环这种方法的耗时要比用arrayfun这种方法的耗时要小一点点
,不过用arrayfun要简洁点。
看程序之前,之前先复习一下arrayfun吧
|
|
V
避免无用的循环--fun系列的另外三个函数
代码:
clear
clc
close all
% 输入设备的坐标
in_x = zeros(1, 10);
in_y = linspace(0, 100, 10);
% 输出设备的坐标
out_x = 200.*ones(1, 30);
out_y = linspace(0, 100, 30);% 方法1:arrayfun
tic
figure(1)
ax = axes('NextPlot', 'add');
f = @(x, y) arrayfun(@(x_out, y_out) plot([x, x_out], [y, y_out]), out_x, out_y);
arrayfun(f, in_x, in_y)
toc
% 方法2:for循环
tic
figure(2)
ax2 = axes('NextPlot', 'add');
for i = 1 : length(in_x)
for j = 1 : length(out_x)
plot([in_x(i) out_x(j)], [in_y(i) out_y(j)])
end
end
toc
用arrayfun的方法,那两句的解释如下:
实际上用一层for循环,再用一个arrayfun这样运行速度会块一倍,如下面的方法三,我用arrayfun嵌套arrayfun纯粹是想捣鼓一下。不过arrayfun再嵌套一个arrayfun确实简洁
,但是可读性降低了,还运行的不快!
% 方法三:一层for循环再用一个arrayfun
tic
figure(3)
ax3 = axes('NextPlot', 'add');
for i = 1 : length(in_x)
f = @(x, y) line([in_x(i), x], [in_y(i), y]);
arrayfun(f, out_x, out_y)
end
toc
三种方法的运行时间如下:
我把那个输入的点数改成了100,输出的点数改成了300!
感谢你能够认真阅读完这篇文章,希望小编分享的"MATLAB如何画图"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
方法
循环
篇文章
运行
简洁
坐标
实际
时间
点数
设备
输入
输出
三个
上图
不快
东西
代码
价值
兴趣
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全保障工作方案工作总结
网络技术学c语言好学吗
乌海市网络安全宣传
穿越火线哪个服务器没英雄级
刺客信条3连接服务器自动退出
高防云服务器代理
盲盒软件开发商家
福州机旁备件管理软件开发
php存数据库乱码
c语言是软件开发
瀚高数据库尝试连线已失败
数据库ip自己电脑上
服务器安装宝塔
自动无线网络技术标准
无锡虹蚂蚁网络技术有限公司
电脑服务器集成系统
计算机网络安全维护效果
山东大学服务器专业
数据库技术创建emp数据表
sql数据库引擎配置更改
拟我表情捏脸数据库
1.7.2服务器核心
如何在武装突袭3架设服务器
保护数据库安全的常用方法
软件开发行业有什么前景
网络技术基础与安全实训报告
强化网络安全责任
e福州软件开发
怎么复制筛选出来的数据库
洛江网站建设软件开发