【此篇文章是由自动发信系统所张贴】
⊙ 投票开启於:Mon Dec 10 20:34:56 2001 类别:单选
⊙ 主题:《水木清华数学工具MathTools版常见问题集》写作版式哪种最好
⊙ 票选题目描述:
《水木清华数学工具MathTools版常见问题集》写作版式(详见7252)哪一种你认为最合适?
A. 版式一
B. 版式二
C. 两种偶都不喜欢,偶认为应该_________(请写写你的想法)
版式一:
如何从一个数据文件里读取数据?
发信人: augmentDai (花谢花飞花满天 offer今天在眼前), 信区: MathTools
标 题: Re: 又一个新手的问题
发信站: BBS 水木清华站 (Tue Apr 11 12:34:43 2000)
给你一个例子,是我的程序:
fid = fopen('edge_result.dat','r')
[nodenumber, count]=fscanf(fid, '%d', 1)
[gridnumber, count]=fscanf(fid, '%d', 1)
[temp,count]=fscanf(fid, '%g', [4,inf]);
x=temp(1:2,:);
y=temp(3:4,:);
plot(x,y,'-b');
fclose(fid)
它从edge_result.dat中读取两个整数,分别赋给nodenumber, gridnumber.
再将其他所有数据读出来,按列优先的顺序赋给4*n的矩阵temp
其他就是给x,y赋值, 画图了.
【编者注】
注意,在读文件的时候需要指定读的格式,这个格式要和文件中数据的存放格式相对应
。另外,fclose语句可以提前,放在"x=temp(1:2,:);"之前比较好。
如何产生一组随机的高斯数?
发信人: wireless (wings), 信区: MathTools
标 题: Re: 如何产生相关的一组高斯随机数
发信站: BBS 水木清华站 (Tue Apr 11 21:54:30 2000)
【 在 freewalk (飘雨问人) 的大作中提到: 】
: 能把你的源程序共享么?
: thank u very much
我并没有做仔细的测试,可能有错.
function z=cor_normrnd(mu,sigma,cor_matrix)
% z=cor_normrnd(mu,cor_matrix,n) returns a vector of random numbers chosen
% from the normal distribution with parameters mu,sigma and cor_matrix.
% mu - the mean of the normally distributed r.v
% sigma- the standard deviation of the normally distributed r.v
% cor_matrix - the normalized correlation matrix of the normally distributed
r.v.
% Created by G. Song
% Apr/11/2000
% For academic use only
na=nargin;
if na<3
disp('Not enough input arguements')
help cor_normrnd;
return;
end
L=chol(cor_matrix); % Cholesky decomposition
[mc,nc]=size(cor_matrix);
u=normrnd(0,1,mc,1);
z=inv(L)*u; % Normalized r.v.
[mm,nm]=size(mu);
[ms,ns]=size(sigma);
if (mm-1)+(nm-1)==0
mu=mu*ones(mc,1);
end
if (ms-1)+(ns-1)==0
sigma=sigma*ones(mc,1);
end
z=mu+sigma.*z;
【编者注】
此处简单解释函数的用法,并给出实例,演示如何应用本函数。还有,解释如何存放该
函数及添加路径。
如何从M文件创建C Mex文件?
这里用一个例子来说明。
【例】先编写M文件,然后生成相应的MEX文件。该文件用以判断方阵是否奇异。
cd d:\mywork
(1)在MATLAB的编辑器中,编写下面的函数文件exm1.m 。
[exm1.m]
function y=exm1(A)
[m,n]=size(A);
if m~=n;
error('An input matrix should be n-by-n.')
end
r=rank(A);
if r==m
disp('This matrix is nonsigular')
else
disp('This matrix is sigular')
end
(2)把该函数文件存放于用户目录d:\mywork下。
(3)在MATLAB命令窗中,运行以下指令对exm1.m进行编译。
mcc -x exm1 %编译m文件。
(4)调用MEX文件exm1.dll 进行计算
A=[1,0,1;2,1,0;4,1,4]
exm1(A) %调用exm1来判断矩阵A是否奇异。
which exm1 %查询所调用的exm1的路径和全称。
A =
1 0 1
2 1 0
4 1 4
This matrix is nonsigular
d:\mywork\exm1.dll
版式二:
如何从一个数据文件里读取数据?
程序清单:
fid = fopen('edge_result.dat','r')
[nodenumber, count]=fscanf(fid, '%d', 1)
[gridnumber, count]=fscanf(fid, '%d', 1)
[temp,count]=fscanf(fid, '%g', [4,inf]);
fclose(fid)
x=temp(1:2,:);
y=temp(3:4,:);
plot(x,y,'-b');
【Ref To】
发信人: augmentDai (花谢花飞花满天 offer今天在眼前), 信区: MathTools
标 题: Re: 又一个新手的问题
发信站: BBS 水木清华站 (Tue Apr 11 12:34:43 2000)
【编者注】
注意,在读文件的时候需要指定读的格式,这个格式要和文件中数据的存放格式相对应
。另外,fclose语句可以提前,放在"x=temp(1:2,:);"之前比较好。
如何产生一组随机的高斯数?
function z=cor_normrnd(mu,sigma,cor_matrix)
% z=cor_normrnd(mu,cor_matrix,n) returns a vector of random numbers chosen
% from the normal distribution with parameters mu,sigma and cor_matrix.
% mu - the mean of the normally distributed r.v
% sigma- the standard deviation of the normally distributed r.v
% cor_matrix - the normalized correlation matrix of the normally distributed
r.v.
% Created by G. Song
% Apr/11/2000
% For academic use only
na=nargin;
if na<3
disp('Not enough input arguements')
help cor_normrnd;
return;
end
L=chol(cor_matrix); % Cholesky decomposition
[mc,nc]=size(cor_matrix);
u=normrnd(0,1,mc,1);
z=inv(L)*u; % Normalized r.v.
[mm,nm]=size(mu);
[ms,ns]=size(sigma);
if (mm-1)+(nm-1)==0
mu=mu*ones(mc,1);
end
if (ms-1)+(ns-1)==0
sigma=sigma*ones(mc,1);
end
z=mu+sigma.*z;
【Ref To】
发信人: wireless (wings), 信区: MathTools
标 题: Re: 如何产生相关的一组高斯随机数
发信站: BBS 水木清华站 (Tue Apr 11 21:54:30 2000)
【编者注】
进行参数说明,并给出一个例子,演示如何应用。还有,解释如何存放该函数及添加路
径。
如何从M文件创建C Mex文件?
这里用一个例子来说明。
【例】先编写M文件,然后生成相应的MEX文件。该文件用以判断方阵是否奇异。
cd d:\mywork
(1)在MATLAB的编辑器中,编写下面的函数文件exm1.m 。
[exm1.m]
function y=exm1(A)
[m,n]=size(A);
if m~=n;
error('An input matrix should be n-by-n.')
end
r=rank(A);
if r==m
disp('This matrix is nonsigular')
else
disp('This matrix is sigular')
end
(2)把该函数文件存放于用户目录d:\mywork下。
(3)在MATLAB命令窗中,运行以下指令对exm1.m进行编译。
mcc -x exm1 %编译m文件。
(4)调用MEX文件exm1.dll 进行计算
A=[1,0,1;2,1,0;4,1,4]
exm1(A) %调用exm1来判断矩阵A是否奇异。
which exm1 %查询所调用的exm1的路径和全称。
A =
1 0 1
2 1 0
4 1 4
This matrix is nonsigular
d:\mywork\exm1.dll
yueyar的说明:
1.
前面演示了两个版式的异同。版式一保留了bbs上文章的原文原样,但好像这样并不是很
好,因为一方面原文版式排的不好,有很多空行,而且很多问题说的不清楚。如果采用
版式二,以bbs上的文章为基础,进行增、删、改,可以避免这种问题,并且让内容更精
彩、完整;同时,在【Ref To】里指出所参照的是bbs上的哪一篇文章(作者、时间、标
题都有),体现了来自水木清华bbs的特点。
2.
版式演示中,有3个faq,前两个是来自bbs的,第三个是从别的书上参考来的,将原文改
编成了faq。当然可以找到更适合编成faq形式的内容。我暂时没有仔细挑选。
【选项如下】
(A) 版式一
(B) 版式二
(C) 偶认为都不好,应该_________(请写下)
(D)