matlab 程序运行很慢,怎么改进?

matlab 程序运行很慢,怎么改进?,第1张

提高matlab程序运行速度,可以用以下方法:

1、更改MATLAB启动快捷方式

在缺省配置下,MATLAB有一个启动闪屏,去掉它可以节省一定的内存消耗,从而加快启动。

在MATIJAB启动快捷方式后添加命令行参数 一nos-plash”即可_去掉闪屏。

缺省配置 MATLAB会启动虚拟机,这会消耗大量内存。添加命令行参数"-nojvm”可禁用JAVA虚拟机。

MATLAB启动快捷方式命令形如:

"%MATLABROOT%\bin\win32\matlab.exe -nosplash -nojvm”。

经过以上配置,MATLAB启动和运行速度会得到大幅提升。

注意:禁用JAVA虚拟机后,MATLAB中有些功能,诸如:调试功能、可视化界面设计功能不能使用,但大多数其它功能可正常运行。如果使用的功能需要JAVA虚拟机支持,启动时将命令行参数 一nojvm 去掉即可。

2、更改MATLAB搜索路径

MATLAB启动时会添加搜索路径。如果安装了多个工具箱,搜索路径会很多。过多的搜索路径除了减缓启动速度外,还会影响MATLAB执行效率。因为MATLB执行程序时会在这些路径中寻找M文件。而实际上我们不会为完成某个任务使用所有的工具箱。为提高启动和运行速度,可以修改pathdef.m文件,将暂时不用的工具箱和其它搜索路径注释掉(MATLAB程序以%为注释标识),从而加快启动和运行。

close all

clc

clear

A = [1 22 25

1 33 21

1 4 420

2 55 19

2 6731]

x = A(:, 1)'

y = A(:, 2)'

z = A(:, 3)'

s = A(:, 4)'

% 提取有效数据

xb = min(x)

xe = max(x)

yb = min(y)

ye = max(y)

zb = min(z)

ze = max(z)

sb = min(s)

se = max(s)

x1 = linspace(xb, xe, 30)

y1 = linspace(yb, ye, 30)

z1 = linspace(zb, ze, 30)

s0 = linspace(sb, se, 30)

% 对有效数据分割

[x1 y1 z1] = meshgrid(x1, y1, z1)

% 生成网格数据点

s1 = zeros(size(x1, 1), size(x1, 2))

for i = 1 : size(s1, 1)

s1(i, :) = s0

end

st = zeros(size(x1, 1), size(x1, 2), size(x1, 3))

for i = 1 : size(st, 3)

st(:, :, i) = s1

end

s1 = st

% 构造第四维数据s1

figure

hold on

view(3)

slice(x1, y1, z1, s1, x, [], [])

这样就做出来所谓的截面图

这个是通过slice(x1, y1, z1, s1, x, y, [])来做的,但没有颜色值设置选项;

close all

clc

clear

A = [1 22 25

1 33 21

1 4 420

2 55 19

2 6731]

x = A(:, 1)'

y = A(:, 2)'

z = A(:, 3)'

s = A(:, 4)'

% 对有效数据分割

xb = min(x)

xe = max(x)

yb = min(y)

ye = max(y)

zb = min(z)

ze = max(z)

y1 = linspace(yb, ye, 30)

z1 = linspace(zb, ze, 30)

x1 = ones(size(y1, 1), size(y1, 2)) * x(1)

[x1, y1] = meshgrid(x1, y1)

z = zeros(length(z1))

for i = 1 : size(z, 1)

z(i, :) = z1

end

surf(x1, y1, z)

% 这个时候产生了对应于x1的网格截面图,下面来定颜色

[a, b] = size(z)

rgb = ones(a, b)

len = length(s)+1

slic = floor(linspace(1, a, len))

for i = 1 : length(slic)-1

rgb(slic(i):slic(i+1)-1, :) = rgb(slic(i):slic(i+1)-1, :)*s(i)

end

% 产生颜色值

figure

surf(x1, y1, z, rgb)

这个是设置了颜色的图


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11875022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存