自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(221)
  • 资源 (11)
  • 收藏
  • 关注

原创 Fortran计算大型对称稀疏矩阵的二范数

在fortran中,有时候需要对一个大型的稀疏矩阵求取2范数。由于大型稀疏矩阵一般使用CSR存储格式,MKL函数库中的gesvd的参数是稠密矩阵<matlab可以直接计算稀疏矩阵的2范数>所以本文根据相关知识,给出求解CSR存储的对称方阵2范数的代码。由矩阵分析可以知道:特征值分解和奇异值分解的区别所有的矩阵都可以进行奇异值分解,而只有方阵才可以进行特征值分解。当所给的矩...

2020-03-19 22:56:33 1522 5

原创 Fortran计算矩阵2范数

Intel fortran编译器自带的MKL函数库中,只有计算矩阵1范数和无穷范数的程序,所以本文给出fortran使用MKL函数库计算矩阵2范数的示例。而矩阵的2范数的值近似于max(svd(A))运行环境:win10+vs2019+ivf2020代码如下:program norm2 use lapack95 implicit none ...

2020-03-19 22:10:33 3883

原创 fortran使用MKL函数库计算大型稀疏矩阵的特征值与特征向量

program scsrev implicit none integer, parameter :: n = 3 !// depend on your equation integer :: i, j, mm, tmp, fileid, first, num real(kind=8) :...

2019-09-06 18:42:18 3549 3

原创 fortran使用MKL函数库计算方阵的逆矩阵

本篇博文简要介绍使用MKL函数库计算方阵的逆矩阵代码如下:program MKL_getrfANDgetri use lapack95 implicit none integer, parameter :: n = 3 integer :: i, j, ipiv(n) real(kind=8) :: a(n,n)...

2019-07-11 14:26:51 8437 11

翻译 Fortran:数组函数详解

声明:本博文翻译自:https://www.tutorialspoint.com/fortran/location.htm等相关网页上一篇博文讲了数组的基本用法。这一篇博文着重讲解关于数组内置函数的用法。1. 向量与矩阵乘法向量的乘法其实就是数学里的内积运算;而矩阵乘法matmul是指数学中的矩阵乘法运算。而矩阵(向量)A*B则是两个大小相同的矩阵对应位置元素相乘。dot_produc...

2018-08-29 12:12:13 15216

翻译 Fortran:do循环

声明:本博文翻译自:https://www.tutorialspoint.com/fortran/fortran_loops.htm编程语言提供各种控制结构,允许更复杂的执行路径。循环语句允许我们多次执行一个语句或一组语句。fortran提供了下面三种类型循环。分别是do loop; do while loop; nested loop下面进行详解:1. do loopdo loop...

2018-08-28 18:42:43 22249

原创 Julia如何使用Plots(不是PyPlot)

# 本人为了使用Plots简直快吐血了,因为是新手,对整体流程拿捏很不清楚。现在把我的经历写成log,供大家参考# 本人一开始安装了PyPlot,但是用得很不舒服。在网上重新寻找别的package,感觉Plots更适合我的口味。再安装了PyPlot之后add Plots各种报错。# 最终不得以把.julia下的lib文件夹以及cache文件夹删除。重新Pkg.add(&quot;Plots&quot;).这次安装...

2018-08-07 20:15:47 9031 1

原创 matlab生成线性等间隔离散的梯形波

【代码】matlab生成线性等间隔离散的梯形波。

2023-12-19 21:59:16 497

原创 fortran将csr格式(全存储)的稀疏矩阵改成只存储上三角元素

fortran将csr格式(全存储)的稀疏矩阵改成只存储上三角元素

2023-01-15 12:03:09 373 1

原创 matlab写入读取二进制文件

matlab读取二进制

2023-01-15 12:00:57 846

原创 Fortran将非对称稀疏矩阵CSR格式转化为COO格式

Fortran将非对称稀疏矩阵CSR格式转化为COO格式,并用matlab存储为稀疏矩阵

2023-01-08 21:40:55 227

原创 英文期刊催稿邮件

Dear editor,I'm not sure if it is the right time to contact you to inquire about the decision on my revised manuscript. My manuscript ID is ***. The status of "Awaiting Decision" for my manuscript has been lasting for a few days. I would be grateful if .

2022-04-12 01:33:56 4309

原创 matlab画雷克子波

clear; clcfm = 500; %主频dt = 1e-4; %时间域采样间隔number = 100; %采样点数t = -number/2+1:number/2;R = (1-2*(pi*fm*(t-number/4)*1e-3).^2) .* exp(-(pi*fm*(t-number/4)*1e-3).^2);plot(t,R,'linewidth', 1.5);title('Ricker-wavelet');xlabel('t(ms)');ylabel('A');s.

2021-10-23 18:03:17 6487

原创 fortran实现一维线性插值:与matlab的interp1的线性插值功能一致

program main implicit none integer :: i real*8 :: x(9), y(9), t, z !// x与y的数据来源于matlab的interp1帮助文档, t为被插值节点,见帮助文档的变量xq x = [0.d0,0.785398163397448d0,1.57079632679490d0,2.35619449019235d0,3.14159265358979d0.

2021-08-17 23:05:21 1961

原创 matlab输入读取二进制文件

a = rand(10,1); % 8*10=80kb% 写入fid = fopen('test.bin','w');fwrite(fid,a,'double');fclose(fid);% 读取fid1 = fopen('test.bin','r');lkl = fread(fid1,'double');fclose(fid1);

2021-06-08 11:27:29 542

原创 怎样在后台运行matlab

linux系统中,后台运行matlab的命令如下:nohup matlab -nodesktop -nodisplay -r 'test;quit'单引号中的test为主程序的名称

2021-05-26 20:11:04 985

原创 matlab画同相轴

获取波场数据之后,可以使用smoothdata函数先进行圆滑使用下列语句wtva(u,q,'k',0.1,1,1,1)% u为波场, q为时间, 'k'表示线条颜色为黑色, '0.1'表示对大于0.1的位置涂色, 其他参数默认% 为了更符合习惯, 将y轴反向set(gca,'YDir','reverse'); xlim([-1,1])ylim([0,0.5])% 加边框box offXlim = get(gca,'xlim');Ylim = get(gca,'ylim');.

2021-04-22 16:19:56 401

原创 matlab寻找一段曲线的极值点

x = [-pi:0.01:pi]';y = sin(10*x);[~,loc1] = findpeaks(y); % 极大值[~,loc2] = findpeaks(max(y)-y); % 极小值

2021-04-08 13:22:21 8442

原创 fortran判断一行字符记录中有多少个字符串

program main implicit none integer :: i, j, k character(len=100) :: str, c str = " abc , 12334 'a b' " do i = 1, len_trim(str) read( str, fmt = *, iostat = j ) ( c, k = 1,.

2020-10-31 22:03:11 786 2

原创 matlab寻找信号的极值

clc; close all; clear;t = linspace(0,pi,200)';d = sin(2*t);% 微分变号信息IndMin = find(diff(sign(diff(d)))>0)+1; % 获得局部最小值的位置IndMax = find(diff(sign(diff(d)))<0)+1; % 获得局部最大值的位置figure; hold on; box on;plot(t,d);plot(t(IndMax), d(IndMax), 'k*'.

2020-09-18 19:43:20 1884 1

原创 将对称矩阵的CSR格式转化为COO格式

有时候需要matlab调用Fortran中的稀疏矩阵(CSR Format),示例如下!// 将对称矩阵的CSR格式转化为COO格式program main implicit none integer, parameter :: n = 5, nz = 9 integer :: i, j, k, num, nn real*8 :: a(nz) = [1.d0, 2.d0, 4.d0, 5.d0, 7.d0, 8..

2020-08-28 19:29:51 1243

原创 matlab计算矩阵指数函数的三种方法

简要介绍matlab计算矩阵指数函数的三种方法方法1:Pade法function E = expmdemo1(A)% EXPMDEMO1 Matrix exponential via Pade approximation.% E = EXPMDEMO1(A) is a MATLAB implementation of the built-in% algorithm used by MATLAB for the matrix exponential.% See Golub a.

2020-08-22 16:15:47 11243 1

原创 matlab生成任意区间的随机数

使用matlab中的rand函数生成任意区间的随机数公式 r = a + (b-a)*rand(m,n)其中[a,b]是范围,[m,n]是生成的数据形状。比如我想生成[-5,5]之内10个随机数a = -5;b = 5;r = a + (b-a) * rand(10,1); -4.0246 -2.2150 0.4688 4.5751 4.6489 -3.4239 4.7059 4.5717 -0.1462 3.0028.

2020-07-26 16:49:20 23678 4

原创 fortran计算逆矩阵

program main implicit none integer :: n n = 108 call get_invMatrix(n)end program main subroutine get_invMatrix(n) implicit none integer :: n, i, j real*8 :: A(n,n), invA(n,n) ope.

2020-07-21 18:42:06 6683 1

原创 fortran使用MKL函数库求解普通稀疏矩阵与向量的乘积

使用MKL函数库中的mkl_dcsrgemv可以实现普通稀疏矩阵与向量的乘积program main implicit none integer :: n, n1, ja(9), ia(7) real*8 :: a(9), x(6), y(6) character(len=1) :: transa = 'n' !|--------------------------MATRIX--------------.

2020-07-18 19:13:13 1976

原创 使用matlab的stem函数绘制离散信号

X = linspace(0,2*pi,25)';Y = sin(2*X);stem(X,Y,'LineStyle','-.',... 'LineWidth',1.25,... 'MarkerFaceColor','red',... 'MarkerEdgeColor','green')

2020-06-05 20:49:24 5888

原创 fortran使用MKL中的GELS求解线性方程组的最小二乘问题

program test_GELS use lapack95 implicit none integer :: i integer, parameter :: m = 4, n = 3 real*8 :: a(4,3), b(4) !|---------------------------------------------------------| .

2020-06-04 10:03:07 1262

原创 使用MKL中的有关函数计算共轭梯度法

program ConjugateGradientMethods use blas95 implicit none integer :: i integer, parameter :: n = 5 real(kind=8),allocatable :: A(:,:) real(kind=8),allocatable :: b(:,:) real(kind=8) :: alpha = 0.d0, .

2020-05-28 09:23:15 601

原创 fortran派生数据类型的动态数组

program test implicit none type :: point real :: x real :: y end type type(point), allocatable :: mypoint(:) allocate( mypoint...

2020-04-03 11:17:31 830

原创 matlab生成稀疏对称正定矩阵

R = sprandsym(n,density,rc,kind) 详细参考https://ww2.mathworks.cn/help/matlab/ref/sprandsym.html其中,n为矩阵的阶数,density为稀疏密度,所以矩阵的非零元素大概有n*n*densityrc为条件数的倒数kind = 1,则 R 由正定对角矩阵的随机 Jacobi 旋转生成。R 恰好具有所需的条...

2020-03-31 10:45:43 2252 1

原创 部分主元法求解线性方程组

!//---------------原方程-------------!// x + y + z + w = 10!// 2x + 3y + z + w = 15!// 3x - y + 2z - w = 3!// 4x + y -3z + 2w = 5!//----------------------------------!// 本代码针对高斯消元法进行改...

2020-03-20 12:07:43 586

原创 Fortran/Matlab/Python三种编程语言数组排列方式小记

对一部分做数值计算的初级编程人员而言,往往分不清数组元素的优先排列顺序,本文以Fortran、Matlab、Python三种编程语言进行简要说明。1. Fortran:列优先integer :: a(2,2)a = reshape([1,2,3,4])do i = 1, 2 write( *,'(*(g0,3x))' ) a(i,:)end doend program...

2020-03-19 21:46:34 1015

原创 matplotlib绘图:调整坐标刻度朝内/外

import numpy as npimport matplotlib.pyplot as pltX = np.linspace(-np.pi, np.pi, 256, endpoint = True)C, S = np.cos(X), np.sin(X)plt.rcParams['xtick.direction'] = 'inout' # in; out; inoutplt.r...

2020-02-21 18:57:00 4656

原创 python批量出图

import numpy as np import matplotlib.pyplot as plt fname = "data.dat"data = np.zeros([4100,2]) # 数据量data = np.loadtxt( fname )t = data[:,0]et = data[:,1]for i in range(1, 42): # 41个数据点...

2020-02-20 20:46:58 669

原创 python函数文档小记

python可以对函数进行函数文档说明,这样可以大大增加代码的可阅读性。def func1(x, y): "my first function!" z = x + y return zprint(func1(1, 2))print(func1.__doc__)在上面的代码中,"my first function!"为函数文档说明。想调用函数文档可以使用fu...

2020-02-05 15:15:13 112

原创 自动变步长Simpson积分方法函数

Module mod Implicit none Real(kind=8), parameter :: a = 1.d0, b = 1.02d0 !// 积分区间 Real(kind=8), parameter :: eps = 1.d-15 !// 误差控制 Real(kind=8) :: s !// 最终积分结果 Integer :: n !// 最终分的份数C...

2019-12-18 15:24:42 1454

原创 梯形积分与辛普森积分

Program main !// 辛普森积分 Implicit none Real(kind=8), parameter :: a = 0.d0, b = 1.d0 !//积分区间为[a,b], 被积函数为f(x) = x*e^x Integer, parameter :: n = 100 !// 区间等份 Real(kind=8), parameter :: h = (...

2019-12-18 15:23:53 1109

原创 龙贝格积分

!// author: luk!// time: 2018/3/20!// purpose: Romberg integral for ln(x) between 1 and 2Module mod Implicit noneContains Subroutine cal_integral( ) Implicit none Integer :: i, j, k ...

2019-12-18 15:22:15 408

原创 高斯积分

!// 注: 参考来源http://fcode.cn/algorithm-73-1.html Module Gauss_Legendre !//高斯—勒让德积分高斯点及权重的求解模块 Implicit none Integer, parameter :: n = 11 !// 设置求解高斯点的个数 Integer, parame...

2019-12-18 15:21:37 677

原创 复合体型辛普森积分

Program main !// 复合梯形积分和辛普森积分 Implicit none Real(kind=8), parameter :: a = 0.d0, b = 1.d0 !//积分区间为[a,b], 被积函数为f(x) = x*e^x Integer, parameter :: n = 100 !// 区间等份 Real(kind=8), parameter :...

2019-12-18 15:21:02 376

GitHub的使用方法

github的使用方法:本文档简介地介绍了github的使用。

2018-08-31

Fortran语言实现割线法求取零值点

本代码用Fortran语言实现了牛顿迭代法求取零值点,代码简单明了,易于学习

2018-01-17

Fortran语言实现LU分解

本代码用Fortran语言实现了LU分解算法。代码简单命了,易于学习

2018-01-17

Fortran语言写的高斯消去法求解方程组

本代码用Fortran语言实现了高斯消元法,代码接单明了,已于学习

2018-01-17

fortran语言编写牛顿迭代法求方程的零点

fortran语言编写牛顿迭代法求方程的零点,代码中给出了相应的注解

2018-01-06

Fortran语言编写的辛普森,梯形求积分代码

Fortran语言编写的辛普森,梯形求积分代码,代码简单,易于理解

2018-01-03

Fortran语言编写的切比雪夫插值代码

Fortran语言编写的切比雪夫插值代码,以未知函数y=e^x作为检测函数,代码风格简单明了

2018-01-03

Fortran语言编写的牛顿插值法

Fortran语言编写的牛顿插值法,以函数y=e^x作为检测函数

2018-01-03

Fortran语言编写的不动点迭代代码

Fortran语言编写的不动点迭代代码,求取方程的零值点,简明易懂

2018-01-03

二分法Fortran代码

用Fortran科学计算语言实现二分法求解方程的零点,代码风格简单明了,亲自调试通过

2018-01-03

三次样条代码

用Fortran科学计算语言计算三次样条插值函数

2018-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除