加载中…
个人资料
felonwan
felonwan
  • 博客等级:
  • 博客积分:0
  • 博客访问:702,063
  • 关注人气:120
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
标签:

c语言

幂函数

数值计算

perl

括号配对

分类: 想法观点
[原创]网络转载敬请注明作者felonwan和出处,其它出版计划请联系作者。

C/C++效率高,用来做系统底层的设计无疑是很好的,但是现在也有很多人用来做数值计算。
不过其中有很多东西C/C++并没有为数值计算优化。最简单的,比如:幂函数居然要写成pow(x,n)这样比较复杂的形式,如果使用x^n更符合直觉,更易用;复杂一点的,Fortran里有对矩阵的操作块的操作,C/C++里只能一个数一个数地操作。

如果能做一个编译器级别的改变肯定是最好的,引入一些对于数值计算更易用的语法,再引入一些数值计算库,或许可以开发一个C数值计算的变种。不过这个事笔者目前是没有这能力。如果有人有能力而且感兴趣,不妨建个开源项目什么的。

易学易用是重要的一方面,但是功能的强大、方便扩展无疑更重要。如果这个C/C++的分支相对于原始C/C++及其它科学计算语言来说没有很大的优势,肯定做不起来,不如不做!目前Fortran做数值计算就比C易学易用一些;科学计算的库,也已经有很
标签:

单叶双曲面

直线

旋转

形成

matlab

分类: 程序Linux电脑学习
给朋友做个展示图,展示“旋转一条直线形成单叶双曲面的过程”。gif图片如下:


自我感觉东西并不完美,但是过程展示已经很清楚了。

matlab代码如下:
% Function: Demonstrate the formation of Uniparted Hyperboloid
%           by rotating a line
% Author: felonwan@gmail.com
% Last Modified: 2012-12-25
close all
% coordinates
x=[-0.6,0.8];
y=[0.8,-0.6];
z=[3.0,-3.0];
[th,phi,r]=cart2sph(x,y,z);
n=120;%divided the circle into n pieces
k=24;%pause and write it to the animation every k pieces
% figure properties setting
标签:

linux

matlab

c

绘图

混合编程

分类: 程序Linux电脑学习
1.编译m文件为可执行文件
mex -setup设置好了c编译器之后。
写个简单函数test.m
function test
x=0:0.01:2*pi;
y=sin(x);
plot(x,y)
保存.
编译mcc -m test.m
就会生成可执行的文件test和一个脚本run_test.h
./run_test.h <matlab_root>/bin

2.C中调用matlab计算引擎(绘图等)
步骤:
(1)安装csh;
(2)设置:动态库路径LD_LIBRARY_PATH中添加<matlab_root>/bin/<Arch>; 
         PATH路径中添加<matlab_root>/bin
(3)编译:gcc test.c -o test -I $HOME/MATLAB/R2011b/extern/include -L $HOME/MATLAB/R2011b/bin/glnx86/ -leng -lmx -lmex
 (注意cpu是x86还是a64)
(4)运行:./test
标签:

latex

missing

endcsname

inserted.

杂谈

!Missing \endcsname inserted.

检查括号“}”
确认没错的话,就把除.tex外的生成的文件,比如说什么.aux,.log,.nav等统统清除,再编译。
标签:

matlab

legend

自动

我们可能需要改变某个参量,画多条类似的曲线,这时的“标注”老要手动是很麻烦的。这里用细胞数组存储转化为字符串的参量值,实现自动标注。

例子:

k=6;

x=0:0.1:1;

y=zeros(length(x),k);

str=cell(k,1);

for a=1:k

y(:,k)=0.1*a*x.^2+0.5;

str{a}=['a=',num2str(a)];

end

h=plot(x,y);

legend(h,str);

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有