Mudanças entre as edições de "Matlab em uma página"
(Criou página com '<code> %-- 20-03-2017 19:07:54 --% %Aula 5, 20/mar %Endereçamento lógico v = [1 2 3 4 3 2 1 2] v([2, 4, 5]) v([false,true,false,true,true,false,false,false]) v >= 3 sum(v>=3) i...') |
|||
Linha 157: | Linha 157: | ||
pontes(3).localizacao == 'Clark St.' | pontes(3).localizacao == 'Clark St.' | ||
find(pontes(3).localizacao == 'Clark St.') | find(pontes(3).localizacao == 'Clark St.') | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | peso = input('Entre com seu peso em kg: '); | ||
+ | altura = input('Entre com sua altura em metros: '); | ||
+ | disp(['Seu IMC é: ',num2str(peso./(altura.^2))]); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | idpontes = 1 | ||
+ | pontes(idpontes).localizacao = 'Smith St.'; | ||
+ | pontes(idpontes).CargaMax = 80; | ||
+ | pontes(idpontes).Ano = 1928; | ||
+ | pontes(idpontes).AgendaManutencao = 2011; | ||
+ | idpontes = 1 + idpontes | ||
+ | pontes(idpontes).localizacao = 'Hope Ave.'; | ||
+ | pontes(idpontes).CargaMax = 90; | ||
+ | pontes(idpontes).Ano = 1950; | ||
+ | pontes(idpontes).AgendaManutencao = 2013; | ||
+ | idpontes = 1 + idpontes | ||
+ | pontes(idpontes).localizacao = 'Clark St.'; | ||
+ | pontes(idpontes).CargaMax = 85; | ||
+ | pontes(idpontes).Ano = 1933; | ||
+ | pontes(idpontes).AgendaManutencao = 2012; | ||
+ | idpontes = 1 + idpontes | ||
+ | pontes(idpontes).localizacao = 'North Rd.'; | ||
+ | pontes(idpontes).CargaMax = 100; | ||
+ | pontes(idpontes).Ano = 1960; | ||
+ | pontes(idpontes).AgendaManutencao = 2012; | ||
+ | |||
+ | pontes(3).AgendaManutencao = 2018 | ||
+ | |||
+ | idpontes = 1 + idpontes | ||
+ | pontes(idpontes).localizacao = 'Shore Rd.'; | ||
+ | pontes(idpontes).CargaMax = 85; | ||
+ | pontes(idpontes).Ano = 1997; | ||
+ | pontes(idpontes).AgendaManutencao = 2014; | ||
+ | |||
+ | struct2table(pontes) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %Calculadora Switch com Dialog | ||
+ | %Perguntar qual operação deseja utilizar | ||
+ | %Pedir os dois argumentos para realizar a operação | ||
+ | |||
+ | operacao = inputdlg('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: ') | ||
+ | |||
+ | switch operacao{1} | ||
+ | case '+' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) + str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | case '-' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) - str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | case '*' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) * str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | case '/' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | if str2num(arg2) ~= 0 | ||
+ | resultado = str2num(arg1) / str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | else | ||
+ | disp('Não é possível realizar a divisão por zero!') | ||
+ | end | ||
+ | otherwise | ||
+ | disp('Operação inválida!') | ||
+ | end | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %Calculadora For | ||
+ | %Perguntar qual operação deseja utilizar | ||
+ | %Pedir os dois argumentos para realizar a operação | ||
+ | |||
+ | for i = 1:3 | ||
+ | |||
+ | disp(['Execução: ',int2str(i)]) | ||
+ | |||
+ | operacao = inputdlg('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: '); | ||
+ | |||
+ | if strcmp(operacao,'+') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')); | ||
+ | resultado = str2num(arg1) + str2num(arg2); | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | elseif strcmp(operacao,'-') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')); | ||
+ | resultado = str2num(arg1) - str2num(arg2); | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | elseif strcmp(operacao,'*') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')); | ||
+ | resultado = str2num(arg1) * str2num(arg2); | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | elseif strcmp(operacao,'/') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')); | ||
+ | if str2num(arg2) ~= 0 | ||
+ | resultado = str2num(arg1) / str2num(arg2); | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | else | ||
+ | disp('Não é possível realizar a divisão por zero!') | ||
+ | end | ||
+ | else | ||
+ | disp('Operação inválida!') | ||
+ | end | ||
+ | end | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %Calculadora Switch | ||
+ | %Perguntar qual operação deseja utilizar | ||
+ | %Pedir os dois argumentos para realizar a operação | ||
+ | |||
+ | operacao = input('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: ','s') | ||
+ | |||
+ | switch operacao | ||
+ | case '+' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) + str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | case '-' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) - str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | case '*' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) * str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | case '/' | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | if str2num(arg2) ~= 0 | ||
+ | resultado = str2num(arg1) / str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | else | ||
+ | disp('Não é possível realizar a divisão por zero!') | ||
+ | end | ||
+ | otherwise | ||
+ | disp('Operação inválida!') | ||
+ | end | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %Calculadora | ||
+ | %Perguntar qual operação deseja utilizar | ||
+ | %Pedir os dois argumentos para realizar a operação | ||
+ | |||
+ | operacao = inputdlg('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: ') | ||
+ | |||
+ | if strcmp(operacao,'+') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) + str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | elseif strcmp(operacao,'-') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) - str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | elseif strcmp(operacao,'*') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | resultado = str2num(arg1) * str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | elseif strcmp(operacao,'/') | ||
+ | [arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s')) | ||
+ | if str2num(arg2) ~= 0 | ||
+ | resultado = str2num(arg1) / str2num(arg2) | ||
+ | disp(['Resultado: ',int2str(resultado)]) | ||
+ | else | ||
+ | disp('Não é possível realizar a divisão por zero!') | ||
+ | end | ||
+ | else | ||
+ | disp('Operação inválida!') | ||
+ | end | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %Filtro de segunda ordem | ||
+ | x = 1:1:1000; | ||
+ | y = 1 ./ (1 + x.^2) | ||
+ | loglog(x,y,'bo') | ||
+ | hold off | ||
+ | loglog(x,y,'bo') | ||
+ | x = logspace(0,3,1000) | ||
+ | y = 1 ./ (1 + x.^2) | ||
+ | loglog(x,y,'bo') | ||
+ | x = 1:1:50; | ||
+ | y = 1 ./ (1 + x.^2) | ||
+ | loglog(x,y,'bo') | ||
+ | x = logspace(0,3,50); | ||
+ | y = 1 ./ (1 + x.^2) | ||
+ | y = 1 ./ (1 + x.^2); | ||
+ | loglog(x,y,'bo') | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %plotlob | ||
+ | x = 1 : 0.1 : 1000; | ||
+ | y = 1 ./ (1 + x.^2) | ||
+ | subplot(2,2,1) %cria um subplot 2x2 e seleciona primeiro quadro | ||
+ | plot (x,y) | ||
+ | grid on | ||
+ | subplot(2,2,2) | ||
+ | semilogx(x,y) | ||
+ | grid on | ||
+ | subplot(2,2,3) | ||
+ | semilogy(x,y) | ||
+ | grid on | ||
+ | subplot(2,2,4) | ||
+ | loglog(x,y) | ||
+ | grid on | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %polar | ||
+ | convert2deg(pi/6) | ||
+ | t = 0:0.01:6*pi | ||
+ | r = linspace(1,0,1885) | ||
+ | r = linspace(1,0,length(t)); | ||
+ | polar(t,r) | ||
+ | plot(t,r) | ||
+ | r = logspace(1,0,length(t)) | ||
+ | polar(t,r) | ||
+ | figure | ||
+ | plot(t,r) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %Stairs | ||
+ | x=0:10 | ||
+ | y=x.^2 | ||
+ | plot(x,y) | ||
+ | hold on | ||
+ | stairs(x,y) | ||
+ | grid on | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %plot | ||
+ | x=0:0.01:4*pi | ||
+ | 4*pi | ||
+ | cos(x) | ||
+ | y = cos(x) | ||
+ | plot(x,y) | ||
+ | hold on | ||
+ | z = sin(x); | ||
+ | stem(x,z) | ||
+ | x(1:50:end) | ||
+ | z(1:50:end) | ||
+ | plot(x,y) | ||
+ | hold on | ||
+ | stem(x,z) | ||
+ | hold off | ||
+ | plot(x,y) | ||
+ | hold on | ||
+ | stem(x,z) | ||
+ | hold off | ||
+ | stem(x(1:50:end),z(1:50:end)) | ||
+ | stem(y(1:50:end),z(1:50:end)) | ||
+ | stem(x(1:50:end),z(1:50:end)) | ||
+ | hold on | ||
+ | stem(y(1:50:end),z(1:50:end)) | ||
+ | hold off | ||
+ | stem(x(1:50:end),z(1:50:end)) | ||
+ | hold on | ||
+ | stem(x(1:50:end),y(1:50:end)) | ||
+ | plot(x,z,'b') | ||
+ | plot(x,y,'r') | ||
+ | bar(x(1:50:end),y(1:50:end),'r') | ||
+ | bar(x(1:50:end),z(1:50:end),'b') | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %plot 3D | ||
+ | t = 0:0.1:10*pi | ||
+ | clc | ||
+ | x = cos(t); | ||
+ | y = sin(t); | ||
+ | z = t; | ||
+ | figure | ||
+ | plot3(x,y,z) | ||
+ | grid on | ||
+ | xlabel('x');ylabel('y');zlabel('z'); | ||
+ | view(-90,0) | ||
+ | view(0,0) | ||
+ | %Grade 3D | ||
+ | [X,Y] = meshgrid(-20:0.5:20); | ||
+ | [X,Y] = meshgrid(-20:0.5:20) | ||
+ | R = sqrt(X.^2 + Y.^2) + eps; | ||
+ | clc | ||
+ | Z = sin(R)./R; | ||
+ | mesh(X,Y,Z) | ||
+ | eps | ||
+ | surf(X,Y,Z) | ||
+ | shading flat | ||
+ | clc | ||
+ | shading faceted | ||
+ | shading interp | ||
+ | surfc(X,Y,Z) | ||
+ | contour(X,Y,Z) | ||
+ | meshc(X,Y,Z) | ||
+ | shading interp | ||
+ | meshz(X,Y,Z) | ||
+ | waterfall(X,Y,Z) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <code> | ||
+ | %plotyy | ||
+ | clc | ||
+ | x = linspace(0 , 4*pi, 1000) | ||
+ | clc | ||
+ | y = 2*sin(x); | ||
+ | z = 30*cos(2*x); | ||
+ | help plotyy | ||
+ | plotyy(x,y,x,z) | ||
+ | doc plotyy | ||
+ | legend('Tensão (V)','Corrente (A)') | ||
+ | doc comet | ||
+ | t = 0:.01:2*pi; | ||
+ | x = cos(2*t).*(cos(t).^2); | ||
+ | y = sin(2*t).*(sin(t).^2); | ||
+ | comet(x,y); | ||
</syntaxhighlight> | </syntaxhighlight> |
Edição das 18h12min de 7 de abril de 2017
%-- 20-03-2017 19:07:54 --%
%Aula 5, 20/mar
%Endereçamento lógico
v = [1 2 3 4 3 2 1 2]
v([2, 4, 5])
v([false,true,false,true,true,false,false,false])
v >= 3
sum(v>=3)
indices = v >= 3
v(indices)
v(2:5)
u = [1 0 3]
v = [2 5 1 5]
w = [u v]
z = [u, v]
a= [1 2 3; 4 5 6]
b=[10 10 0;10 0 10]
c = [a;b]
z = [u;a]
sort(v)
help sort
sort(v,'descend')
find(u)
v == 5
find(v == 5)
mean(v)
sum(v) / length(v)
mean(a)
mean(mean(a))
lookfor median
u
v
median(v)
ceil(v)
w = [1.2 5 5.8 6.5 9]
ceil(w)
floor(w)
round(w)
t1=[5 5.5 6.5 6 6.25]
t2=[40 43 37 50 45]
t3=[1000 1100 1000 1200 1100]
r1 = t1 .* t2
r2 = sum(r1)
r3 = sum(t3)
r4 = r2 ./ r3
r5 = sum(t2) / sum(t3)
r6 = ((t1 .* t2) ./ t3)
[k, l] = min(r6)
[k, l] = max(r6)
</syntaxhighlight>
%-- 22-03-2017 19:10:04 --%
% aula de 22/mar
var1 = 'Aspas simples definem a variavel como texto'
numero1 = 3
numero1 = 'texto'
var1(1)
var1(1:7)
var1(1:7)'
var1
var3 = [var1, '!']
titulo = 'Numero plot = a: '
numero_plot = 1
titulo_completo = [titulo, numero_plot]
titulo_completo = [titulo, num2str(numero_plot)]
m = ['Plot 1';'Plot 2';'Plot 3']
m(1,:)
m(:,end)
m(:,1)
m(:,end-2)
m(:,end-3:end)
m(:,1:2:end)
clc
%Entrada e saida de dados
Resposta1 = input('Entre com um número: ')
12
Resposta2 = input('Entre seu nome: ');
titulo
Resposta2 = input('Entre seu nome: ');
'Cleber'
doc input
Resposta2 = input('Entre seu nome: ','s');
Cleber
clc
%Mostrando os resultados
Resposta2 = input('Entre seu nome: ','s')
Cleber
Confirm = input(['Voce digitou "',Resposta2,'", confirma?'],'s')
sim
%Comando disp
clc
disp('Frase a ser exibida')
disp(['Voce digitou "',Resposta2,'"'])
numero1 = 48
disp(['Voce digitou ',numero1])
disp(['Voce digitou ',num2str(numero1)])
num1 = [1 2 5 98 2]
num2 = {1 2 5 98 2}
num1(3) = 8
num2{3} = 8
num2{3} = 'texto'
num2{5} = [1 2 3;4 5 6]
num2(5)
num2{5}
titulo = {'Senoide';'Função logaritmica';'Reta'}
size(titulo)
length(titulo)
titulo(1)
titulo{1}
%Concatenação
nova_celula = {titulo{1},titulo{2}}
nova_celula = {titulo(1),titulo(2)}
nova_celula = [titulo(1),titulo(2)]
nova_celula = [titulo(1),titulo{2}]
nova_celula(2)
nova_celula{2}
%Operações
celula_numerica = {12, 42}
celula_numerica'
celula_numerica(1)
celula_numerica{1}
celula_numerica{1} + celula_numerica{1}
celula_numerica{1} = [1 2]
celula_numerica{1} + celula_numerica{1}
celula_numerica{1} + celula_numerica{2}
title(titulo{1})
figure
title(titulo{2})
celula_matriz = {12,'Olá';[1 2 3],[4; 5; 6]}
celula_matriz{2,:}
lookfor right
lookfor fill
str1 = 'nome 1'
zeros(1, 15 - length(str1))
doc cellplot
%Estruturas
banco.nome = 'IFSC'
banco.idade = 108
banco.alunos = 35000
banco
banco.idade
banco(1)
banco(2).nome = 'santander'
banco(2).idade = 200
banco(2).alunos = 20000
doc struct
isfield(banco,'idade')
isfield(banco,'cor')
rmfield(banco,'alunos')
[str1,zeros(1, 15 - length(str1))]
cleber2
cellplot(struct2cell(pontes))
find(pontes(2).localizacao == 'Clark St.')
pontes(2).localizacao == 'Clark St.'
pontes(3).localizacao == 'Clark St.'
find(pontes(3).localizacao == 'Clark St.')
</syntaxhighlight>
peso = input('Entre com seu peso em kg: ');
altura = input('Entre com sua altura em metros: ');
disp(['Seu IMC é: ',num2str(peso./(altura.^2))]);
</syntaxhighlight>
idpontes = 1
pontes(idpontes).localizacao = 'Smith St.';
pontes(idpontes).CargaMax = 80;
pontes(idpontes).Ano = 1928;
pontes(idpontes).AgendaManutencao = 2011;
idpontes = 1 + idpontes
pontes(idpontes).localizacao = 'Hope Ave.';
pontes(idpontes).CargaMax = 90;
pontes(idpontes).Ano = 1950;
pontes(idpontes).AgendaManutencao = 2013;
idpontes = 1 + idpontes
pontes(idpontes).localizacao = 'Clark St.';
pontes(idpontes).CargaMax = 85;
pontes(idpontes).Ano = 1933;
pontes(idpontes).AgendaManutencao = 2012;
idpontes = 1 + idpontes
pontes(idpontes).localizacao = 'North Rd.';
pontes(idpontes).CargaMax = 100;
pontes(idpontes).Ano = 1960;
pontes(idpontes).AgendaManutencao = 2012;
pontes(3).AgendaManutencao = 2018
idpontes = 1 + idpontes
pontes(idpontes).localizacao = 'Shore Rd.';
pontes(idpontes).CargaMax = 85;
pontes(idpontes).Ano = 1997;
pontes(idpontes).AgendaManutencao = 2014;
struct2table(pontes)
</syntaxhighlight>
%Calculadora Switch com Dialog
%Perguntar qual operação deseja utilizar
%Pedir os dois argumentos para realizar a operação
operacao = inputdlg('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: ')
switch operacao{1}
case '+'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) + str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
case '-'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) - str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
case '*'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) * str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
case '/'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
if str2num(arg2) ~= 0
resultado = str2num(arg1) / str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
else
disp('Não é possível realizar a divisão por zero!')
end
otherwise
disp('Operação inválida!')
end
</syntaxhighlight>
%Calculadora For
%Perguntar qual operação deseja utilizar
%Pedir os dois argumentos para realizar a operação
for i = 1:3
disp(['Execução: ',int2str(i)])
operacao = inputdlg('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: ');
if strcmp(operacao,'+')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'));
resultado = str2num(arg1) + str2num(arg2);
disp(['Resultado: ',int2str(resultado)])
elseif strcmp(operacao,'-')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'));
resultado = str2num(arg1) - str2num(arg2);
disp(['Resultado: ',int2str(resultado)])
elseif strcmp(operacao,'*')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'));
resultado = str2num(arg1) * str2num(arg2);
disp(['Resultado: ',int2str(resultado)])
elseif strcmp(operacao,'/')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'));
if str2num(arg2) ~= 0
resultado = str2num(arg1) / str2num(arg2);
disp(['Resultado: ',int2str(resultado)])
else
disp('Não é possível realizar a divisão por zero!')
end
else
disp('Operação inválida!')
end
end
</syntaxhighlight>
%Calculadora Switch
%Perguntar qual operação deseja utilizar
%Pedir os dois argumentos para realizar a operação
operacao = input('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: ','s')
switch operacao
case '+'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) + str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
case '-'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) - str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
case '*'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) * str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
case '/'
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
if str2num(arg2) ~= 0
resultado = str2num(arg1) / str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
else
disp('Não é possível realizar a divisão por zero!')
end
otherwise
disp('Operação inválida!')
end
</syntaxhighlight>
%Calculadora
%Perguntar qual operação deseja utilizar
%Pedir os dois argumentos para realizar a operação
operacao = inputdlg('Digite (+) para soma, (-) para subtração, (*) para multiplicação e (/) para divisão: ')
if strcmp(operacao,'+')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) + str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
elseif strcmp(operacao,'-')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) - str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
elseif strcmp(operacao,'*')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
resultado = str2num(arg1) * str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
elseif strcmp(operacao,'/')
[arg1,arg2] = strtok(input('Digite os dois números separados por espaço: ','s'))
if str2num(arg2) ~= 0
resultado = str2num(arg1) / str2num(arg2)
disp(['Resultado: ',int2str(resultado)])
else
disp('Não é possível realizar a divisão por zero!')
end
else
disp('Operação inválida!')
end
</syntaxhighlight>
%Filtro de segunda ordem
x = 1:1:1000;
y = 1 ./ (1 + x.^2)
loglog(x,y,'bo')
hold off
loglog(x,y,'bo')
x = logspace(0,3,1000)
y = 1 ./ (1 + x.^2)
loglog(x,y,'bo')
x = 1:1:50;
y = 1 ./ (1 + x.^2)
loglog(x,y,'bo')
x = logspace(0,3,50);
y = 1 ./ (1 + x.^2)
y = 1 ./ (1 + x.^2);
loglog(x,y,'bo')
</syntaxhighlight>
%plotlob
x = 1 : 0.1 : 1000;
y = 1 ./ (1 + x.^2)
subplot(2,2,1) %cria um subplot 2x2 e seleciona primeiro quadro
plot (x,y)
grid on
subplot(2,2,2)
semilogx(x,y)
grid on
subplot(2,2,3)
semilogy(x,y)
grid on
subplot(2,2,4)
loglog(x,y)
grid on
</syntaxhighlight>
%polar
convert2deg(pi/6)
t = 0:0.01:6*pi
r = linspace(1,0,1885)
r = linspace(1,0,length(t));
polar(t,r)
plot(t,r)
r = logspace(1,0,length(t))
polar(t,r)
figure
plot(t,r)
</syntaxhighlight>
%Stairs
x=0:10
y=x.^2
plot(x,y)
hold on
stairs(x,y)
grid on
</syntaxhighlight>
%plot
x=0:0.01:4*pi
4*pi
cos(x)
y = cos(x)
plot(x,y)
hold on
z = sin(x);
stem(x,z)
x(1:50:end)
z(1:50:end)
plot(x,y)
hold on
stem(x,z)
hold off
plot(x,y)
hold on
stem(x,z)
hold off
stem(x(1:50:end),z(1:50:end))
stem(y(1:50:end),z(1:50:end))
stem(x(1:50:end),z(1:50:end))
hold on
stem(y(1:50:end),z(1:50:end))
hold off
stem(x(1:50:end),z(1:50:end))
hold on
stem(x(1:50:end),y(1:50:end))
plot(x,z,'b')
plot(x,y,'r')
bar(x(1:50:end),y(1:50:end),'r')
bar(x(1:50:end),z(1:50:end),'b')
</syntaxhighlight>
%plot 3D
t = 0:0.1:10*pi
clc
x = cos(t);
y = sin(t);
z = t;
figure
plot3(x,y,z)
grid on
xlabel('x');ylabel('y');zlabel('z');
view(-90,0)
view(0,0)
%Grade 3D
[X,Y] = meshgrid(-20:0.5:20);
[X,Y] = meshgrid(-20:0.5:20)
R = sqrt(X.^2 + Y.^2) + eps;
clc
Z = sin(R)./R;
mesh(X,Y,Z)
eps
surf(X,Y,Z)
shading flat
clc
shading faceted
shading interp
surfc(X,Y,Z)
contour(X,Y,Z)
meshc(X,Y,Z)
shading interp
meshz(X,Y,Z)
waterfall(X,Y,Z)
</syntaxhighlight>
%plotyy
clc
x = linspace(0 , 4*pi, 1000)
clc
y = 2*sin(x);
z = 30*cos(2*x);
help plotyy
plotyy(x,y,x,z)
doc plotyy
legend('Tensão (V)','Corrente (A)')
doc comet
t = 0:.01:2*pi;
x = cos(2*t).*(cos(t).^2);
y = sin(2*t).*(sin(t).^2);
comet(x,y);
</syntaxhighlight>