matlab 程序解释 急需

作者&投稿:盛霭 (若有异议请与网页底部的电邮联系)
急需帮忙的Matlab 程序,请高手帮忙解释一下,最好每一句都有解释~

先把以前让解释的提问关闭了再说!

直接法
复制内容到剪贴板
代码:
function A=multifit(X,Y,m)
%A--输出的拟合多项式的系数
N=length(X);
M=length(Y);
if(N ~= M)
disp('数据点坐标不匹配!');
return;
end

c(1:(2*m+1))=0;
b(1:(m+1))=0;

for j=1:(2*m+1) %求出c和b
for k=1:N
c(j)=c(j)+X(k)^(j-1);
if(j<(m+2))
b(j)=b(j)+Y(k)*X(k)^(j-1);
end
end
end

C(1,:)=c(1:(m+1));
for s=2:(m+1)
C(s,:)=c(s:(m+s));
end

A=b'\C; %直接求解法求出拟合系数
最小二乘法
复制内容到剪贴板
代码:

function a=ZJZXEC(x,y,m)
if(length(x) == length(y))
n = length(x);
else
disp('x和y的维数不相等!');
return;
end %维数检查
syms v;
d = zeros(1,m+1);
q = zeros(1,m+1);
alpha = zeros(1,m+1);
for k=0:m
px(k+1)=power(v,k);
end %x的幂多项式
B2 = [1];
d(1) = n;
for l=1:n
q(1) = q(1) + y(l);
alpha(1) = alpha(1) + x(l);
end
q(1) = q(1)/d(1);
alpha(1) = alpha(1)/d(1);
a(1) = q(1);
B1 = [-alpha(1) 1];
for l=1:n
d(2) = d(2) + (x(l)-alpha(1))^2;
q(2) = q(2) + y(l)*(x(l)-alpha(1));
alpha(2) = alpha(2) + x(l)*(x(l)-alpha(1))^2;
end
q(2) = q(2)/d(2);
alpha(2) = alpha(2)/d(2);
a(1) = a(1)+q(2)*(-alpha(1));
a(2) = q(2);
beta = d(2)/d(1);
for i=3:(m+1)
B = zeros(1,i);
B(i) = B1(i-1);
B(i-1) = -alpha(i-1)*B1(i-1)+B1(i-2);
for j=2:i-2
B(j) = -alpha(i-1)*B1(j)+B1(j-1)-beta*B2(j);
end
B(1) = -alpha(i-1)*B1(1)-beta*B2(1);
BF = B*transpose(px(1:i));
for l=1:n
Qx = subs(BF,'v',x(l));
d(i) = d(i) + (Qx)^2;
q(i) = q(i) + y(l)*Qx;
alpha(i) = alpha(i) + x(l)*(Qx)^2;
end
alpha(i) = alpha(i)/d(i);
q(i) = q(i)/d(i);
beta = d(i)/d(i-1);
for k=1:i-1
a(k) = a(k)+q(i)*B(k);
end
a(i) = q(i)*B(i);
B2 = B1;
B1 = B;
end

在这里:
function u = EVOLUTION(u0, g, lambda, mu, alf, epsilon, delt, numIter)
% EVOLUTION(u0, g, lambda, mu, alf, epsilon, delt, numIter) updates the level set function
% according to the level set evolution equation in Chunming Li et al's paper:
% "Level Set Evolution Without Reinitialization: A New Variational Formulation"
% in Proceedings CVPR'2005,
% Usage:
% u0: level set function to be updated
% g: edge indicator function
% lambda: coefficient of the weighted length term L(\phi)
% mu: coefficient of the internal (penalizing) energy term P(\phi)
% alf: coefficient of the weighted area term A(\phi), choose smaller alf
% epsilon: the papramater in the definition of smooth Dirac function, default value 1.5
% delt: time step of iteration, see the paper for the selection of time step and mu
% numIter: number of iterations.
%

u=u0;
[vx,vy]=gradient(g);

for k=1:numIter
u=NeumannBoundCond(u);
[ux,uy]=gradient(u);
normDu=sqrt(ux.^2 + uy.^2 + 1e-10);
Nx=ux./normDu;
Ny=uy./normDu;
diracU=Dirac(u,epsilon);
K=curvature_central(Nx,Ny);
weightedLengthTerm=lambda*diracU.*(vx.*Nx + vy.*Ny + g.*K);
penalizingTerm=mu*(4*del2(u)-K);
weightedAreaTerm=alf.*diracU.*g;
u=u+delt*(weightedLengthTerm + weightedAreaTerm + penalizingTerm); % update the level set function
end

% the following functions are called by the main function EVOLUTION
function f = Dirac(x, sigma) %水平集狄拉克计算
f=(1/2/sigma)*(1+cos(pi*x/sigma));
b = (x<=sigma) & (x>=-sigma);
f = f.*b;

function K = curvature_central(nx,ny); %曲率中心
[nxx,junk]=gradient(nx);
[junk,nyy]=gradient(ny);
K=nxx+nyy;

function g = NeumannBoundCond(f)
% Make a function satisfy Neumann boundary condition
[nrow,ncol] = size(f);
g = f;
g([1 nrow],[1 ncol]) = g([3 nrow-2],[3 ncol-2]);
g([1 nrow],2:end-1) = g([3 nrow-2],2:end-1);
g(2:end-1,[1 ncol]) = g(2:end-1,[3 ncol-2]);

d

楼主现在会了没?我也急用啊


玉树县13156749109: 解释一下以下matlab程序,急求!! -
宣政沃丽: p是一个3X3矩阵 p'是p的转置 eye(3)是3X3的单位矩阵 one(1,3)是矩阵(1 1 1 ); a=[p'-eye(3);ones(1,3)]; 就是把矩阵p'-eye(3)和(1 1 1)拼接起来成4X3的矩阵, zero(3,1)是三个0的列向量,后面的1就是和三个0拼接组成4X1列向量 a\b相当于b除以a

玉树县13156749109: 求大神把这段MATLAB程序给注释下,在线等万谢! -
宣政沃丽: clear; %%% 清理变量 N=input('Type in the order N = ');%%% 获取输入值N Wn=input('Type in the 3-dB cutofffrequency Wn = ');%%%获取输入值 Wn Rp=input('Type in the the passbandripple Rp = '); %%%获取输入值 Rp Rs=input('Type in...

玉树县13156749109: matlab程序 求非常详细的解释. -
宣政沃丽: figure(1)%打开一张图plot(k,Z,'h')%画k与Z的图像,使用六角形xlabel('时间(min)');%设置横坐标ylabel('血糖浓度(mg/dL)');%设置纵坐标hold on%图像保...

玉树县13156749109: 这是一个MATLAB程序,力求哪位高手帮忙解释一下每条语句的意思.谢谢,谢谢. -
宣政沃丽: 这应该属于线性代数中,求解线性方程组AX=b中的解X(X1,X2……Xn),这个程序基本上可以用matlab中的一句话代替 X=A\b ,只是这个运算在方程组有无穷多解的情况下会报错.你的程序的详细注释如下:A=[6,-2,2,4;12,-8,4,10;3,-13,3,3;-6,4,...

玉树县13156749109: 一个matlab程序,请看的懂的解释 -
宣政沃丽: 、第一行的两个冒号是什么意思?这是Matlab的语法,自己再看看任何一本关于Matlab的书吧 angle=-pi:0.01:pi; 定义一个名为angle的向量-pi为起点,0.01为增量,pi为终点 2、为什么我把pi变成1它就会报错? 你肯定是运行了一次这个程序再把pi改1运行第二次的时候出错,原因是工作空间向量dp已经预先定义了大小,这样你改了angle的大小就会使得两边向量维数不匹配,解决这个问题可以在程序最前面用一个clear或把dp(1,:)改成dp 3、“.^”加点表示对向量中的每个元素做运算,“^”不加点按线性代数的运算法则进行向量运算 多看看书,多用用Matlab的help

玉树县13156749109: 急!!请详细解释一下matlab的一段代码!!!
宣政沃丽: 是求功率谱. Fs bit]=wavread('50.wav'); %读取波形文件,s为数据,Fs为抽样频率,bit为位宽 figure(1) %新建一个窗口 %小波去噪 [thr,sorh,keepapp]=ddencmp('den','wv',s); %返回小波除噪和压缩后的信号 [s,cxc,lxc,perf,perfl2]=wdencmp('gbl',s...

玉树县13156749109: 求大神解释下段MATLAB程序并注释一下,急求! -
宣政沃丽: clear all; close all; fs=2500; %采样率 fp=99,fc=105; %通带边界频率和截止频率 wp=2*pi*fp/fs; %频率做归一化处理 ws=2*pi*fc/fs; Bt=ws-wp; %过渡带宽 N0=ceil(6.6*pi/Bt); %确定滤波器长度 N=N0+mod(N0+1,2); %保证为奇数 wc=(wp+ws...

玉树县13156749109: 求matlab程序解释,越详细越好.是关于卷积的源代码. -
宣政沃丽: 个人认为这个程序有问题i=any(bs-cs);if i error('error')end这里明显是没道理的,如果bs和cs不一样,i就会是1,然后这里就会报错.这很明显不合理....

玉树县13156749109: matlab程序解释:谁帮忙给我吧下面的程序解释一下,主要不知道像plot(t,y(:,4))这种程序的意思 -
宣政沃丽: 本程序段中核心的部分为 y0=[1;1;1;1]; [t,y]=ode45('funb',[0,100],y0); 即为给定初始值的方程求解,方程的函数表示及输出y的定义在函数funb中,需自行查看.plot(t,y(:,4))等价于 plot(t,yy),即为一般的plot函数调用; 关键在于y(:,4), 首先需要说明y一定是个多维的矩阵,那么y(:,4)指的是y矩阵的第四列的所有元素,即 假设 y=1 2 3 44 5 6 47 8 9 4 那么 y(:,4)=444

玉树县13156749109: 帮忙解释一段MATLAB代码 -
宣政沃丽: fileparts(mfilename('fullpath'):): 从当前文件的完整路径中提取出路径和文件名 fullfile(path,[name '.fig']): 文件名+.fig后缀,然后再合成完整路径文件名.如果这个完整路径的文件存在则打开它, 如果不存在则在当前目录下打开.fig文件 如果 函数带参数,则设 h为当前图表窗口句柄

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网