小编Roo*_*ook的帖子

是否有检查矩阵是否对角占优势的函数(行优势)

如果矩阵在对角线上的值在绝对意义上大于该行中所有其他绝对值的总和,则矩阵对角占优势(按行).列也是如此,只是相反.

在matlab中是否有一个函数可以解决这个问题?(我可以写一个简单的循环,但我试图退出那些).

matlab

4
推荐指数
1
解决办法
2万
查看次数

这里做了什么?(使用数学识别)

我知道这本身并不完全与编程相关,但程序员是最有可能认识到这一点的人.

我有以下(X和Y是数组,都有3个元素),我无法识别(虽然它让我想起了一些事情,但没有完全!)这里做了什么.它会为其他人敲响任何铃声吗?

我认为你可以忽视下半部分; 鞋帮应该放弃......但我仍然看不到它.

起初它让我想起了3d空间中的线性插值......

  SUBROUTINE TRII(X,Y,XR,YR)
DIMENSION X(3),Y(3)

D=X(1)*(X(2)**2-X(3)**2)+
 >    X(2)*(X(3)**2-X(1)**2)+
 >    X(3)*(X(1)**2-X(2)**2)

D1=Y(1)*(X(2)*X(3)**2-X(3)*X(2)**2)+
 >     Y(2)*(X(3)*X(1)**2-X(1)*X(3)**2)+
 >     Y(3)*(X(1)*X(2)**2-X(2)*X(1)**2)

D2=Y(1)*(X(2)**2-X(3)**2)+
 >     Y(2)*(X(3)**2-X(1)**2)+
 >     Y(3)*(X(1)**2-X(2)**2)

D3=X(2)*(Y(3)-Y(1))+
 >     X(1)*(Y(2)-Y(3))+
 >     X(3)*(Y(1)-Y(2))

A=D1/D
B=D2/D
C=D3/D

YR=A+B*XR+C*XR**2

RETURN
END

  SUBROUTINE TRIM(X,Y,XR,YR,XM,YM)
DIMENSION X(3),Y(3)

D=X(1)*(X(2)**2-X(3)**2)+
 >    X(2)*(X(3)**2-X(1)**2)+
 >    X(3)*(X(1)**2-X(2)**2)

D1=Y(1)*(X(2)*X(3)**2-X(3)*X(2)**2)+
 >     Y(2)*(X(3)*X(1)**2-X(1)*X(3)**2)+
 >     Y(3)*(X(1)*X(2)**2-X(2)*X(1)**2)

D2=Y(1)*(X(2)**2-X(3)**2)+
 >     Y(2)*(X(3)**2-X(1)**2)+
 >     Y(3)*(X(1)**2-X(2)**2)

D3=X(2)*(Y(3)-Y(1))+
 >     X(1)*(Y(2)-Y(3))+
 >     X(3)*(Y(1)-Y(2))

A=D1/D
B=D2/D
C=D3/D

XR=-B/(2.*C)
YR=A+B*XR+C*XR**2

XM=XR
IF(XR.GT.X(1).OR.XR.LT.X(3))XM=X(1)
YM=A+B*XM+C*XM**2
IF(YM.LT.Y(1))XM=X(1)
IF(YM.LT.Y(1))YM=Y(1)

RETURN
END
Run Code Online (Sandbox Code Playgroud)

">"是一个延续的标志.

math fortran

4
推荐指数
2
解决办法
449
查看次数

在两级子程序中传递假定形状数组(Fortran 90)

我在Fortran 90中调用具有假定形状数组的连续子例程时遇到了问题.更具体地说,我调用两个级别的子例程,将假定形状的数组作为参数传递,但最后数组丢失了.为了演示它,可以遵循以下代码.

  program main

  INTERFACE
     subroutine sub1(x)
       real, dimension(:):: x
       real C
     end subroutine sub1

     subroutine sub2(x)
       real, dimension(:):: x
       real C
     end subroutine sub2
  END INTERFACE

  real, dimension(:), allocatable:: x

  allocate(x(1:10)) ! First executable command in main
  x(1) = 5.
  call sub1(x)
  write(*,*) 'result = ',x(1)
  deallocate(x)
  end program main

  subroutine sub1(x) ! The first subroutine
  real, dimension(:):: x
  real C
  call sub2(x)
  end subroutine sub1

  subroutine sub2(x) ! The second subroutine
  real, dimension(:):: x
  real C
  C2=x(1)
  end …
Run Code Online (Sandbox Code Playgroud)

arrays fortran fortran90

4
推荐指数
1
解决办法
3641
查看次数

为台式机和超级计算机编写的代码有什么区别?

假设,如果我的科学工作导致功能/模块/子程序(在桌面上)的开发,我需要知道将其纳入大型模拟中以在超级计算机上运行(可能模拟分子) ,液体,反应等)?

我的印象是,它可能与利用某些库(例如,BLAS,LAPLACK)尽可能,修改算法(减少迭代),分析,并行化,考虑内存 - 硬盘处理器使用/访问...我是意识到这句格言,"想要优化你的代码?不要这样做",但如果有人想学习编写有效的代码,那么可以提供哪些参考?

我认为这个问题与语言无关,但由于生物分子模拟,气候建模等许多数字运算包都是在某些版本的Fortran中编写的,因此这种语言可能是我感兴趣的目标(我在Fortran中进行了相当广泛的编程) 77).

memory optimization performance hpc grid-computing

4
推荐指数
3
解决办法
278
查看次数

Java中的Fortran GOTO

是的,我看着在Java中实现GOTO的各种方式,但这里是真正的世界:我需要转换为Java的最新FORTRAN LAPACK程序的一个,看到 http://www.netlib.org/lapack/timing/eig/ eigsrc/dlasq3.f 例如:

10 CONTINUE
      IF( N0.LT.I0 )
     $   RETURN
      IF( N0.EQ.I0 )
     $   GO TO 20
      NN = 4*N0 + PP
      IF( N0.EQ.( I0+1 ) )
     $   GO TO 40
      OPS = OPS + DBLE( 3 )
      IF( Z( NN-5 ).GT.TOL2*( SIGMA+Z( NN-3 ) ) .AND.
     $    Z( NN-2*PP-4 ).GT.TOL2*Z( NN-7 ) )
     $   GO TO 30
   20 CONTINUE
      fortran code ...
      GO TO 10
   30 CONTINUE
      OPS = OPS + DBLE( 2 )
      IF( Z( NN-9 …
Run Code Online (Sandbox Code Playgroud)

java fortran goto

4
推荐指数
1
解决办法
380
查看次数

Vim - 构建Latex文件

我有一个乳胶文件(.tex)我在vim编辑.通常,我只是进入cmd并键入pdflatex my-file.tex,希望最好,并且.pdf弹出:)

我需要在Vim中更改什么才能使用Vim的"make选项".所以,我可以做:make,让Vim为我构建我的.tex文件.另外,我希望它在右侧的新缓冲区中显示输出?

任何人都可以给我一些指示吗?我刚开始使用该功能(:在Vim中制作).

编辑:奖励点:)以处理塞巴斯蒂安提到的问题的技巧.

vim latex windows-xp

4
推荐指数
1
解决办法
2220
查看次数

fortran中的数组negtivel索引的调试错误

我这里有一个测试程序:

  program test  
  implicit none  

  integer(4) :: indp  
  integer(4) :: t1(80)  

  indp = -3  
  t1(indp) = 1  
  write(*,*) t1(indp)  

  end program test
Run Code Online (Sandbox Code Playgroud)

第8行是错误的,因为indp是负数.但是当我编译它时使用'ifort'或'gfortran'它们都找不到这个错误.甚至使用valgrind来调试这个程序它也找不到这个错误.你有什么想法找到这种问题吗?

fortran95

4
推荐指数
1
解决办法
2963
查看次数

Vim插件,用于添加外部链接

现在,这可能是显而易见的事情,并且已经为所有人解决,但我只是想到了,所以请仁慈...

是否有一个Vim插件(用于编写降价文本时),使您能够以某种方式插入链接Ctrl- L在这里(StackOverflow)即可。或类似的东西。

例如,我写了一个链接http://www.google.com,按Ctrl- 键L,它将链接移动到页面底部,用[description] [28]代替,其中28是当前的(增加倒数第二个)标识符。

任何人?有什么相似之处吗?

vim markdown

4
推荐指数
2
解决办法
658
查看次数

在Vim中重新格式化,这是明智之举

我不经常重新格式化文本,除了平原之外gq所以这可能是简单的事情,但似乎没有在帮助中找到它的运气.

无论如何,我的文字看起来像这样

Funnily enough, that was exciting. 
"I've just about had enough of this," said a voice beside him. 
He looked up. A girl had come down the other path. Her face was red with exertion under the pale make-up, her hair hung over her eyes in ridiculous ringlets, and she wore a dress which, while clearly made for her size, was designed for someone who was ten years younger and keen on lace edging. 
She was quite …
Run Code Online (Sandbox Code Playgroud)

vim

4
推荐指数
1
解决办法
222
查看次数

在Sublime Text中编写查找和替换操作的脚本

我经常发现自己在文件中执行重复文件和替换操作.大多数情况下归结为固定查找和替换操作; 删除一些行,更改一些始终相同的字符串等等.

在Vim中,这是一个不用脑子的事,

function! Modify_Strength_Files()
    execute':%s/?/-/'
    execute':%s/Ä/-/'
    "--------------------------------------------------------
    execute':%s/Ä/-/'
    execute':%s///g'
    "--------------------------------------------------------
    execute':g/Version\ of\ Light\ Ship/d'
    execute':g/Version\ of\ Data\ for\ Specific\ Regulations/d'
    "--------------------------------------------------------
    " execute':g/LOADING\ CONDITION/d'
    " execute':g/REGULATION:\ A\.562\ IMO\ Resolution/d'

    " This is to reduce multiple blank lines into one.
    execute ':%s/\s\+$//e'
    execute ':%s/\n\{3,}/\r\r/e'
    " ---------------------
endfunction
Run Code Online (Sandbox Code Playgroud)

逐字复制.

如何在Sublime Text编辑器中定义这样的函数,如果它可以完成,然后调用以对当前打开的文件进行操作?

sublimetext2

4
推荐指数
1
解决办法
4657
查看次数