用vista兼容模式运行matlab试试看。在matlab快捷图标上右键,选择“还原以前的版本”--“兼容性”选项卡,在“以兼容模式运行这个程序”前面打勾,并选择“windows vista”,在下面的“特权等级”中,勾选“以管理员身份运行此程序”
这个能运行,你自己比较一下吧 ,估计是 写程序时 没有规范,或输入法 用了中文的,一出明显的措是 [x,it]=newton(f,g,x0,tol) 中的 x应该为 x1,x没定义,没有任何值。
如
>> newton(@f,@g,1,0001)
ans =
-05663
function [x1,it]=newton(f,g,x0,tol)
fx0=feval(f,x0);
gx0=feval(g,x0);
x1=x0-fx0/gx0;
it=0;
while norm(x1-x0)>tol
x0=x1;
fx0=feval(f,x0);
gx0=feval(g,x0);
x1=x0-fx0/gx0;
it=it+1;
end
function y=f(x)
y=x^2+2xexp(x)+exp(2x);
function y=g(x)
y=2x+2exp(x)+2xexp(x)+2exp(2x);
没有错。只是运算比较慢。可以在循环里加一个进度条(waitbar)就知道大概还要等多久了。
z0=quad('sin(x)',0,231415926);放在循环里,每次循环都算了一次数值积分,所以特别慢。
另外你的程序好像还有问题,z0在程序里数值根本就没有变,得到的图也明显不对头
clear;
clc;
A=[1025,139,173,207,241,275,309,343];%A矩阵为8个阵元的平均半径;
c=56e6;%C为声速;
li=2;%ri为阵元宽度;
y0=75;%y0为预期聚焦深度;
Ti=zeros(1,8);
for n=1:8
Ti(1,n)=(sqrtm(A(1,n)^2+y0^2)-y0)/c;%延时Ti;
end
[x,y]=meshgrid(0:01:40,60:01:100);%声场范围,这里取X方向0~40mm,Y方向60~100mm;
z=zeros(401);
for m=1:400;
waitbar(m/400);
for n=1:400
for p=1:8
R0i=sqrtm(y0^2+A(1,p)^2);
Ri=sqrtm(y(m,n)^2+A(1,p)^2);
z0=quad('sin(x)',0,231415926);
%z0=SmartSimpson('A(1,p)liexp(-j(w/c)(Ri-R0i))/Ri',0,231415926);
z(m,n)=z(m,n)+z0;
% Pi=liA(1,p)exp((-j)(x/c)((sqrtm(y0^2+(01(Bx-1bx))^2+A(1,p)^2-02(BX-1)cosx)-R0i)/ Ri=sqrtm(y0^2+(01(Bx-1))^2+A(1,p)^2-02(BX-1)cosx)% Ri=sqrtm(y0^2+(01(Bx-1))^2+A(1,p)^2-02(BX-1)cosx)
end
end
end
mesh(x,y,z);
很简单,这个是兼容性问题,你找到他的安装文件夹,然后改那个,matlab。exe(也就是提供快捷方式的那个执行文件)
的兼容性,就行了,如果不行,你见着安装文件夹离得
exe的文件都改了,定成!!
程序有隐藏病毒、安装目录不对、兼容性有问题。
解决方法是:
1、重新下载安装程序,或者找一个其他版本的程序。
2、检测程序是否有病毒。
3、设置兼容性,选择2000或者xp。
4、换一个安装目录试试。
以上就是关于急,求指点:在matlab中无法进行m文件的保存,而且点了保存按钮之后程序会不响应全部的内容,包括:急,求指点:在matlab中无法进行m文件的保存,而且点了保存按钮之后程序会不响应、matlab程序不运行是什么原因、我的MATLAB程序点RUN运行后没任何反应。既不出图,WORKSPACE里面也没有任何矩阵量。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)