matlab
lf144090
这个作者很懒,什么都没留下…
展开
-
LU分解函数
function [L,U]=mylu(A)[m,n]=size(A);if m~=n display(请输入方阵); endif det(A)==0 display(输入错误 请输入可逆矩阵);endfor i=1:n-1 for j=1: n l(j,j,i)=1; endendB(:,:,1)=A;for i=1:n-1 for j=i原创 2007-11-16 22:05:00 · 1276 阅读 · 0 评论 -
Newton插值函数
%author:野渡无人%create date:2007-12-07function yi=newton(x,y,xi)% x,y为已知节点向量值;yi为xi处所求插值点d_xi=xi-x;n=length(x);L=zeros(n);L(:,1)=y;for i=2:n for j=1:n-i+1 L(j,i)=(L(j+1,i-1)-L(j,i-1))/(x(i+j-1原创 2007-12-07 20:55:00 · 934 阅读 · 0 评论 -
Elgamal密码系统
function [x3,y3,lamda]=add(x1,y1,x2,y2,a,p)%方法(Elgamal密码系统): %1. 选取p约等于2^180和整数a, b得到群Ep(a, b), 公开; %2. 选取generator point G=(x1, y1), 满足:G的阶n是一个非常大的素数,公开;%3. Alice 选取nA%4. Bob选取nB%5. Alice, Bob分别产生秘密密原创 2007-11-25 20:35:00 · 2165 阅读 · 0 评论 -
求a的逆元模p
function y=myinver(a,p)%求逆元函数%求a的逆元模pif a a=a+p;endfor i=0:p if rem(a*i,p)==1 y=i; endend原创 2007-11-25 20:34:00 · 1962 阅读 · 1 评论 -
求椭圆曲线上的整点
function ecc(a,b,p)%求椭圆曲线的整点%例:考虑椭圆曲线上E11(1,6),即y^2=x^3+x+6和一个模数p=11定义的曲线,确定E11(1,6)中所有的点%对应的命令为:ecc(1,6,11)for x=0:p-1 for y=0:p-1 for k=-p^2:p^2 if (x^3+a*x+b+k*p)==y^2原创 2007-11-25 20:32:00 · 4214 阅读 · 1 评论 -
矩阵分解中matlabQR分解自编源代码
%author:野渡无人%create date:2007-11-20function [Q,R]=myqr(A)Q=0;R=0;[m,n]=size(A);if m~=n fprintf(请输入一个方阵); return;endalpha=zeros(m,n);beta=zeros(m,n);K=eye(m,n);for i=1:m alpha(:,i)=A(:,i);en原创 2007-11-24 12:06:00 · 4370 阅读 · 0 评论 -
线性方程数值解中jacobi迭代matlab实现
%jacobi迭代%author:野渡无人%create date:2007-11-23function res=jacobi(a,b,x0,eps) %a为系数矩阵,b为方程组常数向量,x0为初值if nargin==3 eps=1.0e-6;elseif nargin error return;end D=diag(diag(a));%求矩阵对角阵D=inv(D);L=tr原创 2007-11-24 12:09:00 · 3225 阅读 · 0 评论 -
自编的matlab的满秩分解函数
矩阵A是m*n,秩为r的,将其分解为P(m*r,秩为r,即列满秩),和Q(r*n,秩为r,即行满秩),满足A=PQfunction [P,Q]=mypq(A)B=rref(A);[m,n]=size(A);P0(1:m,:)=0;Q0(:,1:n)=0;for i=1:m flag=1; for j=1:n if B(i,j)==1 for原创 2007-11-16 22:02:00 · 4667 阅读 · 1 评论 -
自己写的matlab的svd函数
function [U,S,V]=mysvd(A)B=A*A;[V,D]=eig(B);[m0,n0]=size(B);for i=1:m0 for j=1:n0 if i+j==m0+1 E(i,j)=1; else E(i,j)=0; end endendV=V*E;D=E*D*E;V1=V;T原创 2007-11-16 21:51:00 · 4353 阅读 · 0 评论 -
Lagrange插值函数
function yi=lagint(x,y,xi) % x,y为已知节点向量值;yi为xi处所求插值点d_xi=xi-x; n=length(x);L=zeros(size(y)); L(1)=prod(d_xi(2:n))/prod(x(1)-x(2:n)); %或者 L(1)=prod(d_xi(2:n)./(x(1)-x(2:n))); L(n)=prod(d_xi(1:n-1))/pro原创 2007-12-07 20:52:00 · 1065 阅读 · 0 评论