matlab/octave教程

  • 在matlab中数据的逻辑形式可以表现出多维,但物理上在内存中的形式却是很简单按列存放的。

matlab(矩阵实验室)的数据结构只有矩阵(array)一种形式(可细分为普通矩阵和稀疏矩阵)。
单个的数就是1*1矩阵;数组或向量就是1*n或n*1矩阵,事实上对于matlab来说数、数组或向量和二维矩阵本质没任何区别,它们维数都是二。

首先最重要的:


  • 帮助命令(help)

>>help help:可看帮助文档

>>help rand:可看rand函数使用

  • octave安装功能包(pkg)

地址:https://octave.sourceforge.io/packages.php

特别的,octave不再维护nnet包了https://octave.sourceforge.io/nnet/

>>pkg install nnet-0.0.13.tar.gz :安装功能包

>>pkg load nnet:导入功能包,不过每次打开octave都要重新导入


基本的:


  • 数学公式(直接输)

e.g:

>>log(e)  % ‘%’表示注释 e为自然对数

ans = 1

着重讲一下rem()函数

fix():直接取整数部分,x>0时,取整,不四舍五入,正负都一样;

【与int(x)强制类型转换区别:整数一样,而负数时,int(x)取<=x的整数,fix(-2.5)=-2,int(-2.5)=-3】

floor():向下取整

【对比ceil():向上取整】

rem(x,y)采用: x - y .* fix (x ./ y)【针对矩阵运算时】,即用fix()

注意:正负由被除数决定

【对比:mod(x,y)采用: x - y .* floor (x ./ y),即向下取整,且正负由除数决定】

 

 

  • 符号&命令:

-----%%:双%在matlab中其分段作用,可以把代码分成几块,然后单独运行,便于调试,直接点运行则运行全部代码。光标选中要运行的块,然后点运行结则可以只运行这一块(但前面块定义的变量仍存在)

------clc:clears the command window and homes the cursor.
 

 

 

  • 矩阵相关:                                                                                                         


                                                  

 -- repmat (A, M)
 -- repmat (A, M, N)
 -- repmat (A, M, N, P ...)
 -- repmat (A, [M N])
 -- repmat (A, [M N P ...]):

Replicate Matrix:复制并平铺矩阵,把矩阵A复制m*n块

即把矩阵A看做一个元素,然后生成M*N...矩阵,每一块都为A

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,素数定理可以简单描述为:当$n$越来越大时,小于等于$n$的素数的个数约等于$n/\ln(n)$。现在我来演示如何在MATLAB/Octave中验证素数定理。 首先,我们需要生成一组足够大的素数。我们可以使用MATLAB/Octave中的`primes`函数来生成前$n$个素数。例如,我们生成前1000个素数的代码如下: ``` p = primes(7919); ``` 这里的7919是第1000个素数。你可以通过其他方法计算出更大的素数,以验证素数定理的正确性。 接下来,我们需要计算小于等于$n$的素数的个数。我们可以使用MATLAB/Octave中的`numel`函数来计算向量中元素的个数。例如,我们计算小于等于1000的素数的个数的代码如下: ``` count = numel(p(p <= 1000)); ``` 最后,我们计算$n/\ln(n)$的值,以验证素数定理的正确性。我们可以使用MATLAB/Octave中的`log`函数来计算自然对数。例如,我们计算1000时$n/\ln(n)$的值的代码如下: ``` n = 1000; approx_count = n/log(n); ``` 最后,我们比较实际的素数个数和理论上的素数个数,如果它们接近,则说明素数定理成立。例如,我们比较小于等于1000的素数个数和$n/\ln(n)$的值的代码如下: ``` error = abs(count - approx_count)/approx_count; disp(['Error: ', num2str(error)]); ``` 这里的`error`是实际素数个数和理论素数个数之间的相对误差。如果误差较小,则说明素数定理成立。 总的来说,我们可以使用MATLAB/Octave中的`primes`函数、`numel`函数和`log`函数来验证素数定理的正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值