免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: abcbuzhiming
打印 上一主题 下一主题

重要的不是语言本身,而是应用环境环境,不知道是否正确  关闭 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2007-12-15 13:46 |只看该作者
原帖由 oyhuan 于 2007-12-15 12:34 发表
在大一学了C语言,只知道可以用printf打印出东西,用C来做数学运算...
大二学了C++,下个学期自学了MFC(那时老师还一个字没提过MFC,MFC这人名词还是我在网上了解到的),又因为很多原因我放弃了MFC:1.我做不出一个好 ...

不错~~~
后生可畏啊

论坛徽章:
1
双子座
日期:2015-01-04 14:25:06
32 [报告]
发表于 2007-12-15 14:09 |只看该作者
原帖由 zhujiang73 于 2007-12-14 19:22 发表


我上学学 C  时,能编程解个小方程,就觉得自己学的不错。


我们学C的时候刚好上线性代数
当时线性代数的题都用C写程序来算

论坛徽章:
0
33 [报告]
发表于 2007-12-15 14:23 |只看该作者
原帖由 yecheng_110 于 2007-12-15 14:09 发表


我们学C的时候刚好上线性代数
当时线性代数的题都用C写程序来算


我们在大型机上搞科学计算是用C调用LACPACK库来解线性方程组。

论坛徽章:
0
34 [报告]
发表于 2007-12-15 15:26 |只看该作者
原帖由 doctorjxd 于 2007-12-15 14:23 发表


我们在大型机上搞科学计算是用C调用LACPACK库来解线性方程组。

我真是废物,大学毕业两年了,才开始编程,我甚至看不懂这句话在说什么……

论坛徽章:
0
35 [报告]
发表于 2007-12-15 15:30 |只看该作者
原帖由 abcbuzhiming 于 2007-12-15 15:26 发表

我真是废物,大学毕业两年了,才开始编程,我甚至看不懂这句话在说什么……


LAPACK -- Linear Algebra PACKage
http://www.netlib.org/lapack/

论坛徽章:
0
36 [报告]
发表于 2007-12-15 15:31 |只看该作者
呵呵,基础劳点没坏处。

论坛徽章:
0
37 [报告]
发表于 2007-12-15 16:13 |只看该作者
原帖由 flw 于 2007-12-15 13:37 发表

不错的孩子,你将来一定能找个 6k+ 的工作。
少了别去。


哈哈..

[ 本帖最后由 oyhuan 于 2007-12-15 21:05 编辑 ]

论坛徽章:
0
38 [报告]
发表于 2007-12-15 18:32 |只看该作者
原帖由 abcbuzhiming 于 2007-12-15 15:26 发表

我真是废物,大学毕业两年了,才开始编程,我甚至看不懂这句话在说什么……


这个也没有什么神奇的,看个例子就明白了。
给个用最小二乘法求解矛盾方程组计算药物EC50和Hill系数的程序,

//Name: EC50 calculator.

//Author: doctorjxd

//Date: 2007-12-1

//Compile by g++ ec50.cpp -llapack -lblas -lg2c -lblitz  -L /usr/local/lib -I /usr/local/include -lm

// This program used LAPACK math libaray and blitz++ libaray.


#include<iostream>
#include <vector>
#include <cmath>
#include <blitz/array.h>


extern "C"
{
&nbsp;&nbsp;void dgels_(char* TRANS,  int* M, int* N, int* NRHS, double* A, int* LDA, double* B, int* LDB, double* WORK, int* LWORK, int* INFO);
}


int main()
{
&nbsp;&nbsp;using namespace blitz;
&nbsp;&nbsp;using namespace std;
&nbsp;&nbsp;
&nbsp;&nbsp;Array<double, 1> W(66);
&nbsp;&nbsp;vector<double> x,y;
&nbsp;&nbsp;
&nbsp;&nbsp;double tmp;
&nbsp;&nbsp;for(;;)  
&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;if((cin >> tmp).eof()) break;   
&nbsp;&nbsp;&nbsp;&nbsp;x.push_back(tmp);
&nbsp;&nbsp;&nbsp;&nbsp;if((cin >> tmp).eof())
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cerr << "wrong number input data" << endl ;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;if(cin.fail())
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cerr << "invalid format of input data" << endl;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;y.push_back(tmp);
&nbsp;&nbsp;}

&nbsp;&nbsp;int _w=x.size();
&nbsp;&nbsp;Array<double, 2> A(_w,2,fortranArray),B(_w,1,fortranArray);
&nbsp;&nbsp;for(int i=1;i<=_w;i++)
&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A(i,2)=x[i-1];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B(i,1)=y[i-1];
&nbsp;&nbsp;}

&nbsp;&nbsp;A(Range(1,_w),1)=1;

&nbsp;&nbsp;A(Range(1,_w),2)=log10(A(Range(1,_w),2));
&nbsp;&nbsp;B=log10(abs(1/B-1));

&nbsp;&nbsp;char trans='N';
&nbsp;&nbsp;int m=_w;
&nbsp;&nbsp;int n=2;
&nbsp;&nbsp;int nrhs=1;
&nbsp;&nbsp;int lda=_w;
&nbsp;&nbsp;int ldb=_w;
&nbsp;&nbsp;int lwork=66;
&nbsp;&nbsp;int ret=0;
&nbsp;
&nbsp;&nbsp;dgels_(&trans, &m, &n, &nrhs, A.data(), &lda, B.data(), &ldb, W.data(), &lwork, &ret);  
&nbsp;&nbsp;if(ret!=0)
&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cerr << "wong dgels" << endl;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;  
&nbsp;&nbsp;}
&nbsp;&nbsp;
&nbsp;&nbsp;cout << "EC50: " << pow(10,(0-B(1,1)/B(2,1))) << endl << "Hill: " << B(2,1) << endl << "counts: " << _w << endl;

&nbsp;&nbsp;return 0;
}

论坛徽章:
0
39 [报告]
发表于 2007-12-15 19:48 |只看该作者
很好的经验。
的确是这样,学习要找对方法、方向!
然后就是在枯燥的学习过程中找到激励自己的方法。

论坛徽章:
0
40 [报告]
发表于 2007-12-15 22:11 |只看该作者
恩恩恩!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP