博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab【杂】
阅读量:3952 次
发布时间:2019-05-24

本文共 2069 字,大约阅读时间需要 6 分钟。

乱七八糟的问题

  • 就像命令行一样输出某样东西,如矩阵,size等
disp(X)
  • 取模
mod(a, b)
  • 把多张图片导入内存,应该要多开一个维度塞,而不是直接连在一起。并且要把类型改成uint8,否则默认double输出的就是一坨灰度图。
pic_path = 'images/0.jpg';m = 200;n = 200;% pics 图片数组pics = zeros(m, n, 3, 20, 'uint8');for i = 1 : 10    pics(:,:,:,i) = imread(pic_path);    pics(:,:,:,i+10) = imrotate(pics(:,:,:,i), 180);    pic_path(8) = pic_path(8) + 1;end
  • 当有一堆形如 x 1 , x 2 , . . . , x 100 x1,x2,...,x100 x1,x2,...,x100这样的变量需要批量处理时,可以使用eval(cmdstr)函数,该函数会把字符串当作matlab语句执行。如下代码可以实现对它进行求和。
q=0;for i=1:100eval(['q=q+x', num2str(i)]);end
  • 获取工作区所有的变量信息,可以使用valList = whos。返回一个结构体数组,包含变量名,尺寸等信息。若只需要得到名字,可以使用who函数。若使用who(restr)可以得到变量名符合restr这个正则表达式的变量名。

  • 判断字符串是否开始于某个模式串TF = startsWith(str,pattern),返回一个逻辑阵,再带入到矩阵中,str(TF)可以得到所有符合的串。

  • 在1-N中不重复随机取15个数,A = randsample(N, 15)

  • 集合的差,B = setdiff(1:N, A),B存放随机取样剩下的数。

基础

选择

if expression    statementselseif expression    statementselse    statementsend

循环

for i = 1 : 5    %do somethingend

函数

function [sum] = addd(x,y)sum=x+y;end

画多幅图

figure(1);plot(...);figure(2);plot(...);figure(3);plot(...);

题目

作为一个ACMer念念不忘OJ,官方OJ? ->


获得得到一个向量的奇数项

function y = everyOther(x)  y = x(1:2:length(x));end

求一个圆柱体的体积

function y = pizza(z,a)  y = a*pi*z^2;end

求前n个正整数之和

function t = triangle(n) t = sum(1:n);end

Is my wife right?

function out = wiferight(in)  out='yes';end

交换矩阵第一列和最后一列

function B = swap_ends(A)  B = A;  B(:,[1,length(B)])=B(:,[length(B),1])end

判断一个向量是否严格单调递增

function tf = mono_increase(x)  tf=true;  for i=2:length(x)  %当length(x)<2时,2:length(x)为[]      if x(i)<=x(i-1)        tf=false;        break      end  endend

求斐波那契数列第n项(递归

function s = fib(n)  if n==1 || n==2      s = 1;  else      s = fib(n-1)+fib(n-2);  endend

Sum all integers from 1 to 2 n 2^n 2n

function y = sum_int(x)  y = sum(1:2^x);end

Reverse the vector

function y = reverseVector(x)  y = x(length(x):-1:1);end

Given a row vector of numbers, find the indices of the two nearest numbers.

function [i1 i2] = nearestNumbers(A)    i1 = 1;    n=length(A);    i2 = n;    dx=abs(A(1)-A(n));    for i = 1:n        for j = i+1:n            now=abs(A(i)-A(j));            if now

转载地址:http://vgkzi.baihongyu.com/

你可能感兴趣的文章
Python 3 之多线程研究
查看>>
APP第三方登录实现步骤
查看>>
KVO & KVC 比较 - KVC
查看>>
iOS-tableView联动
查看>>
iOS--Masonry解决 tableViewCell 重用时约束冲突
查看>>
git 与 svn 的主要区别!
查看>>
iOS-截屏,从相册选择图片,制作磨砂效果图片
查看>>
iOS-截取字符串中两个指定字符串中间的字符串
查看>>
数据库-数据库操作(使用FMDB)
查看>>
FMDB介绍以及在 swift 中的数据库操作
查看>>
iOS运行时机制(附Demo演练)
查看>>
宽字符串输出问题
查看>>
将整数转换为宽字符串
查看>>
在类中定义enum实现整数常量功能
查看>>
suse11通过安装最新内核可以上网的经验
查看>>
SUSE静态配置IP成功上网
查看>>
通过sleep让程序等待外部条件改变
查看>>
通过等待键盘输入让程序等待外部条件改变
查看>>
通过限制循环次数来避免死循环
查看>>
ADO连接字符串
查看>>