⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matrix.cpp

📁 C++源文件 没有建立工程 下载后请自行建立
💻 CPP
字号:
/*******************************************************************
*   matrix.cpp - Implementation of handling matrix operation       *
*   Copyright by Xiangyu Dong                                      *
*******************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double **dmatrix(int nrl, int nrh, int ncl, int nch)
{
	int i;
	double **m;
	m=(double **)malloc((unsigned)(nrh-nrl+1)*sizeof(double*));
	if (!m) printf("allocation failure 1 in dmatrix()");
	m-=nrl;
	for(i=nrl; i<=nrh; i++) {
		m[i]=(double *)malloc((unsigned)(nch-ncl+1)*sizeof(double));
		if (!m[i]) printf("allocation failure 2 in dmatrix()");
		m[i]-=ncl;
	}
	return m;
}

void free_dmatrix(double **m,int nrl,int nrh,int ncl,int nch)
{
	int i;

	for(i=nrh;i>=nrl;i--) free((double*) (m[i]+ncl));
	free((double*) (m+nrl));
}

double *dvector(int nl, int nh)
{
	double *v;
	v=(double*)malloc((unsigned)(nh-nl+1)*sizeof(double));
	if (!v) printf("allocation failure in dvector()");
	return v-nl;
}

void free_dvector(double *v,int nl,int nh)
{
	free((double*) (v+nl));
}

double norm_dvector(double *v, int nl, int nh)
{
	double result = 0;
	int i;
	for (i=nl; i<=nh; i++)
		result += v[i]*v[i];
	result = sqrt(result);
	return result;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -