(๑•͈ᴗ•͈)❀送花给你

Octave语法

基本操作

1.基本运算+ - * / ^

2.且&   或|

3.变量赋值

A=1
A=1:0.1:1.5
A =

    1.0000    1.1000    1.2000    1.3000    1.4000    1.5000
%%从1到1.5每隔0.1显示一个数
A=1:6
A =

   1   2   3   4   5   6

4.建立矩阵

A=[1 0 0;0 1 0;0 0 1]
A =

   1   0   0
   0   1   0
   0   0   1
%%三元单位阵    一个 ; 隔绝一行

一些快速建立矩阵的方法

A=eye(3)
A =

Diagonal Matrix

   1   0   0
   0   1   0
   0   0   1
A=[1:5]
A =

   1   2   3   4   5
A=3*ones(3,4)
A =

   3   3   3   3
   3   3   3   3
   3   3   3   3
A=zeros(3,4)
A =

   0   0   0   0
   0   0   0   0
   0   0   0   0

生成随机数矩阵

A=magic(3)
A =

   8   1   6
   3   5   7
   4   9   2
A=rand(3,4)
A =

   0.2641   0.2714   0.6350   0.4451
   0.3665   0.1042   0.9141   0.3593
   0.7243   0.8550   0.1391   0.3467

5.求矩阵维数

A=rand(3,4)
se=size(A)
se =
   3   4
se=size(A,1)
se = 3
se=size(A,2)
se = 4
length(A)
ans = 4

矩阵合并

A =

   1   2   3
   4   2   6
   7   2   9
%%加一列
A=[A,[1;0;0]]
A =

   1   2   3   1
   4   2   6   0
   7   2   9   0
A=[1 1;2 2;3 3]
A =

   1   1
   2   2
   3   3

B=[4 4;5 5;6 6]
B =

   4   4
   5   5
   6   6
%%左右合并
C=[A B]
C =

   1   1   4   4
   2   2   5   5
   3   3   6   6
%%上下合并
C=[A;B]
C =

   1   1
   2   2
   3   3
   4   4
   5   5
   6   6

矩阵运算

A*C         %矩阵乘法
A‘      %计算A的转置
flipud(eye(3))   %flipud()矩阵垂直翻转
pinv(A)    %矩阵求逆(其实计算的是伪逆)
max(A)  %返回矩阵A每一列的最大值
max(max(A))   %求矩阵A最大值
[r,c]=find(A>=7) %r行c列(索引)
A.*B     %对应元素相乘
A.^2     %对应元素求平方
max(A,[],1)    %从A的第一维取第一维(列)最大的
max(A,[],2)    %从第二位(行)取最大的

1./v       %对应元素求倒数
log(v)   %求log
exp(v)   %以e为底,以v中元素为指数的幂运算
abs(v)    %所有元素的绝对值
-v     %相当于求 -1*v
v+ones(length(v),1)  %技巧性:给每个元素加1
val=max(v)   %返回向量v最大元素
[val,ind]=max(v)  %返回向量v最大元素及最大元素的索引

a<3      %a中小于3.则返回1,返回0为否
find(a<3)   %找到小于3的值返回索引号
sum(a)       %a中所有元素求和
prod(a)    %所有元素乘积
floor(a)   %向下取整
ceil(a)   %向上取整

6.索引查找元素

A=[1 2 3;4 5 6;7 8 9]
A =

   1   2   3
   4   5   6
   7   8   9
%%获取第一行第二列元素  
A(1,2)
ans = 2
%%获取第一行和第三行所有元素
A([1,3],:)
ans =

   1   2   3
   7   8   9
%%获取第一列所有元素
A(:,1)
ans =

   1
   4
   7
%%获取第二行所有元素
A(2,:)
ans =

   4   5   6
%%将第二列所有元素改为2
A(:,2)=[2;2;2]
A =

   1   2   3
   4   2   6
   7   2   9

7.读取使用外部数据

data = load('ex1data1.txt')
%%当读取后的data数据是一维列向量时
ta=data(1:10)%获取data前10个值
%%当读取后的data数据是n*2矩阵时
tb=data(:,1)%%获取所有第一列数据
tb=data(:,2)%%获取所有第二列数据

函数的定义和使用

1.首先需要创建一个以函数名命名的后缀为.m的文件。如:warmUpExercise.m

2.写入函数定义:

function A = warmUpExercise(B)
A=B+2
function [A,B] = warmUpExercise(C)
A=C+2
B=C+1

3.调用函数

法一:跳转到函数所在目录位置

cd 'C:/Users/14486/Desktop'

输入

warmUpExercise(1)

法二:添加查找路径

addpath('C:/Users/14486/Desktop')
cd 'C:\'

 输入

warmUpExercise(1)

 

 

读入外部数据

data = load('ex1data1.txt');

其他

fprintf('Running warmUpExercise ... \n');
%% Initialization    %%为注释
clear ; close all; clc
pause; %%暂停,等待键入
clear%%清除工作空间所有变量 
posted @ 2021-10-17 20:59  胸前小红花  阅读(136)  评论(0)    收藏  举报