在Ax=b类型问题中使用了一个大矩阵. A是对称的.有没有算法让我们只保存矩阵的一半并按照x=A\b它进行操作?
我对使用mkl库几乎是新手。如果这看起来很愚蠢,请原谅。我尝试使用[此处]运行教程中的示例ifort -mkl dgemm_example.f,然后运行可执行文件。这是错误:
./a.out: error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我也搜索过类似的问题,但它让我更加困惑。你有什么主意吗? dgemm_example.f
我有N ^ 2个矩阵.每一个都是3x3矩阵.将它们连接到3Nx3N矩阵的一种方法是写入
A(:,:,i)= # 3x3 matrix i=1:N^2

B=[A11 A12 ..A1N;A21 ...A2N;...]
但是当N很大是一项繁琐的工作.你有什么优惠?
我有一些Matlab代码和一个GUI,我想制作一个独立的应用程序来保护我的源代码.我该如何构建这个独立的?谢谢你的任何指导.
================================================== ==============================
我在帮助中找到了:
如果您不想以此格式分发您的专有应用程序代码,则可以使用以下更安全的选项之一:
•部署为P代码 - 将部分或全部源代码文件转换为称为P代码文件的内容模糊形式(来自其.p文件扩展名),并以此格式分发应用程序代码.
•编译成二进制格式 - 使用MATLAB编译器编译源代码文件以生成独立应用程序.将后者分发给应用程序的最终用户.
使用P代码很简单,也没问题.
构建独立的可执行文件
保护源代码的另一种方法是将其构建为独立的可执行文件,并将可执行文件以及任何其他必要的文件分发给外部客户.您必须安装MATLAB编译器和支持的C或C++编译器才能准备文件以进行部署.但是,最终用户不需要MATLAB.
要为MATLAB应用程序构建独立应用程序,请按照MATLAB程序文件的常规步骤开发和调试应用程序.然后,按照程序员在MATLAB编译器文档中部署到最终用户的步骤中的说明生成可执行文件.
- 创建一个包含运行时所需软件的包.看看程序员需要什么软件?更多细节.
要将使用MATLAB编译器创建的独立应用程序分发到开发计算机,请创建包含以下文件的包.
MCRInstaller.exe(Windows)
MCRInstaller是一个自解压缩的可执行文件,可以安装必要的组件来开发您的应用程序.该文件包含在MATLAB Compiler中.
application_name.exe(Windows)
应用程序由MATLAB Compiler创建.Maci64必须包含bundle目录层次结构.
matlab source-code-protection matlab-deployment matlab-compiler
在我的程序中,我遇到了一些大于10000x10000的矩阵.我无法转置或反转它们,如何克服这个问题?
??? Error using ==> ctranspose
Out of memory. Type HELP MEMORY for your options.
Error in ==> programname1 at 70
B = cell2mat(C(:,:,s))';
Out of memory. Type HELP MEMORY for your options.
Example 1: Run the MEMORY command on a 32-bit Windows system:
>> memory
Maximum possible array: 677 MB (7.101e+008 bytes) *
Memory available for all arrays: 1602 MB (1.680e+009 bytes) **
Memory used by MATLAB: 327 MB (3.425e+008 bytes)
Physical Memory (RAM): 3327 MB (3.489e+009 bytes)
* …Run Code Online (Sandbox Code Playgroud) 我是Fortran的新手.这个简单的代码有什么问题?
program combinatorial
Implicit none
integer :: m, n, Fact
integer :: Com
Write (*,*) 'inter 2 number for m and n'
Read (*,*) m,n
Com = Fact (m)/(Fact(n)*Fact(m-n))
Contains
integer Function Fact(t)
Implicit none
Integer, intent(IN) :: t
integer :: i, Ans
Ans = 1
Do i=1, t
Ans=Ans * i
End do
Fact = Ans
End Function Fact
End program combinatorial
Run Code Online (Sandbox Code Playgroud)
我遇到的错误是:
combinatorial.f90(10): error #6626: The name of the internal procedure conflicts with a name in the encompassing …Run Code Online (Sandbox Code Playgroud)