2016-11-01から1ヶ月間の記事一覧

1次元セル・オートマトン その2

1-256の規則を全て適用してみた function wolfram1d_2 clear all; close all; CAsize = 100; [X,Y] = meshgrid(1,CAsize+1); k = {'111','110','101','100','011','010','001','000'}; % v = {'1','0','1','0','0','1','0','1'}; %165 % writerObj = VideoWr…

1次元セル・オートマトン

規則182を適用 function wolfram1d_2 clear all; close all; CAsize = 100; [X,Y] = meshgrid(1,CAsize+1); figure(); hold on; plot(X,Y,'k'); plot(Y,X,'k'); I = zeros(CAsize+1); surface(I); colormap(gray); axis off; origin = zeros(1,CAsize); % fo…

matlabでデス・スターみたいなプロット

https://www.mathworks.com/help/matlab/visualize/representing-a-matrix-as-a-surface.html figure k = 5; n = 2^k-1; theta = pi*(-n:2:n)/n; phi = (pi/2)*(-n:2:n)'/n; X = cos(phi)*cos(theta); Y = cos(phi)*sin(theta); Z = sin(phi)*ones(size(thet…

Matlabで2次元移流拡散方程式を解く(拡散係数Dが場所によって異なる場合を考慮)

function velocity_variable_diffusion clear all; close all; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CAPTURE = false; VIEWTOP = true; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %condition …

Matlabで2次元拡散方程式を解く(拡散係数Dが場所によって異なる場合)

function diff2d_constD clear all; close all; % use surf() function for visualization xmax=2; ymax=2; deltaT = 0.1; % D=0.05; % dx=D*(deltaT)/() % dy= xwidth=31; ywidth=31; x=linspace(-xmax,xmax,xwidth); diffx=diff(x); dx=diffx(1); y=linspa…

Matlabで2次元拡散方程式を解く(拡散係数Dが一定の場合)

function diff2d_constD clear all; close all; % use surf() function for visualization %% define capture CAPTURE = false; xmax=2; ymax=2; deltaT = 0.1; D=0.05; % dx=D*(deltaT)/() % dy= xwidth=31; ywidth=31; x=linspace(-xmax,xmax,xwidth); dif…

matlabで1次元拡散方程式を解く

function diff1d clear all; close all; width=1; A=1; xmax=5; partition=101; x=linspace(-xmax,xmax,partition); D=0.04; dxs=diff(x); dx=dxs(1); deltaT=0.1; d=D*deltaT/dx^2; tmax=4; global f1; global f2; global f3; global f4; set(gcf, 'Positio…

matlabで一次元の移流方程式を解く

function advection_x clear all; close all; format shortG; %%define capture CAPTURE = false; partition=101; xmax=20; xx=linspace(0,xmax,partition)'; dxs=diff(xx); dx=dxs(1); deltaT=0.02; u=2; c=u*deltaT/dx; global d; global h; d=0.4; h=1.2;…

ポテンシャル流れの中に置かれたダブレット

function potential_doublet clear all; close all; x=-2:0.1:2; y=-2:0.1:2; [X,Y] = meshgrid(x,y); k=1.0; Phi = k*X./(X.^2+Y.^2); Psi = -k*Y./(X.^2+Y.^2); contour(X,Y,Phi,50,'LineColor','red'); hold on; contour(X,Y,Psi,50,'LineColor','blue');…

ポテンシャル流れで渦の周りに置かれたダブレット

function uniform_doublet_vortex clear all; close all; x=-2.0:0.1:2.0; y=-2.0:0.1:2.0; [X,Y] = meshgrid(x,y); U=2.0; alpha_deg=0; alpha=alpha_deg/180.0*pi; R=0.8; r=sqrt(X.^2+Y.^2); theta = atan2(Y,X); gamma = - 5.0; Phi = U*(r+R^2./r).*cos…

2次元流れのラプラス方程式を解いて速度ポテンシャルを求める

計算条件 速度ポテンシャルを求める function laplace2d_velocity_potential clear all; close all; format shortG; %%define capture CAPTURE = true; global L;global U;global W;global Xobs;global WobsX;global WobsY; L = 2.0; U = 1.0; W = 1.8; Xobs…

2次元流れのラプラス方程式を解いて流れ関数を求める

計算条件 流れ関数の計算 function laplace2d clear all; close all; %% define capture CAPTURE = false; Xobs = 0.8; WobsX = 0.4; WobsY = 0.5; L = 2; W = 1; deltaX = 100; deltaY = deltaX*W/2; x=linspace(0,L,deltaX); y=linspace(0,W,deltaY); [X,Y…

翼周りのポテンシャル流れをジューコフスキー変換で計算する

function wing_flow_conformal clear all;close all; R=0.8; U=10; alpha_deg = 20; alpha = alpha_deg/180*pi; gamma = -4*pi*R*U*sin(alpha); rho = 10; x=-2:0.05:2; y=-2:0.05:2; [X,Y] = meshgrid(x,y); Xi= X +i*Y; xi0 = -0.12; eta0 = 0.52; Rdash =…

matlabで平板翼周りの流れを計算する

function plate_flow_conformal clear all;close all; R=0.8; U=10; alpha_deg = 20; alpha = alpha_deg/180*pi; gamma = -4*pi*R*U*sin(alpha); rho = 10; x=-3:0.05:3; y=-3:0.05:3; [X,Y] = meshgrid(x,y); Xi= X +i*Y; % W = U*(Xi + R^2./Xi*exp(-2*i*a…

matlabで円柱周りのポテンシャル流を計算する

function pressure_map clear all; close all; def = 2; x=-def:0.1:def; y=-def:0.1:def; [X,Y] = meshgrid(x,y); U= 2.0; alpha_deg=0; alpha=alpha_deg/180.0*pi; R=0.8; r=sqrt(X.^2+Y.^2); theta = atan2(Y,X); gamma = -15.0; rho = 10.0; Phi = U*(r+…

matlabで自由渦

function doublet_in_uniform_flow % clear all; % close all; x=-2.0:0.1:2.0; y=-2.0:0.1:2.0; [X,Y] = meshgrid(x,y); U=1.0; alpha_deg=0; alpha=alpha_deg/180.0*pi; R=0.8; r=sqrt(X.^2+Y.^2); theta = atan2(Y,X); gamma = 1.0; Phi = U*(r+R^2./r).*…

matlabで一様流の中に置かれたダブレット

function doublet_in_uniform_flow % clear all; % close all; x=-2.0:0.1:2.0; y=-2.0:0.1:2.0; [X,Y] = meshgrid(x,y); U=1.0; alpha_deg=0; alpha=alpha_deg/180.0*pi; R=0.8; r=sqrt(X.^2+Y.^2); theta = atan2(Y,X); gamma = 1.0; Phi = U*(r+R^2./r).*…

matlabでポテンシャル湧き出しと吸い込み

function potential_source close all; clear all; x=-10:0.1:10; y=-10:0.1:10; [X,Y] = meshgrid(x,y); Q=1.0; r=sqrt(X.^2+Y.^2); U=1.0; alpha_deg=5; alpha=alpha_deg/180.0*pi; Phi = Q/(2*pi) * log(r); Psi = Q/(2*pi) * atan2(Y,X); contour(Phi,20…

matlabでポテンシャル湧き出し

function potential_source close all; clear all; x=-10:0.1:10; y=-10:0.1:10; [X,Y] = meshgrid(x,y); Q=1.0; r=sqrt(X.^2+Y.^2); U=1.0; alpha_deg=5; alpha=alpha_deg/180.0*pi; Phi = Q/(2*pi) * log(r); Psi = Q/(2*pi) * atan2(Y,X); contour(Phi,20…

matlabでポテンシャル流

function potential_flow x=0:0.1:10; y=0:0.1:10; [X,Y] = meshgrid(x,y); U=1.0; alpha_deg=5; alpha=alpha_deg/180.0*pi; Phi = U*(X.*cos(alpha)+Y.*sin(alpha)); Psi = U*(Y.*cos(alpha)-X.*sin(alpha)); contour(Phi,'LineColor','red'); hold on; con…

matlabで等角写像

function conformal_map clear all;close all; xi_x = -2:0.1:2; xi_y = -2:0.1:2; [X,Y] = meshgrid(xi_x,xi_y); Xi = X + i*Y; R=1; alpha_deg = 20; alpha=alpha_deg/180*pi; Z = Xi + R^2./Xi*exp(-i*2*alpha); axis equal; xlim([-2 2]); ylim([-2 2]);…

2次元弾性問題を有限要素法で解く

うまくいってないっぽい function simple_elastic clear all; close all; format compact; global np, global ne; global nf; global nb; global nodes; global elems; global loads; global bounds; global material; params_simple; load simpledata; np =…

2次元トラスの問題を有限要素法で解く

planer_truss.m function planer_truss clear all; close all; init_params2(); global np;global ne;global nb;global nf; global nodes;global elems; global cnsts;global loads; % load exp1; load exp2; draw_truss(); axis equal; eks = {}; K = zeros…

3次元トラスの問題を有限要素法で解く

solid_truss.m function solid_truss close all; clear all; init_params2(); format shortG; global nodes; global elems; global bounds; global loads; load model_data2; np = size(nodes,1); ne = size(elems,1); nb = size(bounds,1); nf = size(loads…

ZYNQでOV7670 その2

コードがここにあった https://github.com/todotani/OV7670_ZYNQ

ZYNQでAXI Streamインターフェースのチュートリアル

Papilio DUOでVerilogのHello World

思い出しがてら toplevel.v `timescale 1ns / 1ps module toplevel( input CLK, ARDUINO_RESET, output LED0 ); pulse_generator generator(.CLK(CLK),.RST(ARDUINO_RST),.LED(LED0)); endmodule pulse_generator.v `timescale 1ns / 1ps module pulse_gener…

不変零点(invariant zero)と最適フィードフォワード

倒立振子運動方程式 a=9.24e+00; L1=7.00e-02; c2=1.12e-05; m2=3.95e-03; g=9.81e+00; l2=7.20e-02; J2=8.84e-06; a33=-a; a42=m2*g*l2/J2; a43=m2*L1*l2*a/J2; a44=-c2/J2; A = [0 0 1 0 0 0 0 1 0 0 a33 0 0 a42 a43 a44]; b=2.43e+00; B=[0 0 b -m2*L1*l…

Windows 10 64bitでXilinx ISEを使う

ISEのプロジェクトウィザードでLocationを選択しようとしたら落ちた。 http://diannao.exblog.jp/25315295/ 解決方法 C:\Xilinx\14.7\ISE_DS\ISE\lib\nt64の中の libPortability.dll を libPortability-orig.dll に名前を変更 libPortabilityNOSH.dll を lib…

混合ベルヌーイ問題をEMアルゴリズムで解く

尤度関数 シグマ(和)とパイ(積)が混在しているので対数尤度関数の偏微分が容易に計算できない。 (パイだけだとログを取るとシグマに転換するので簡単に計算できる)https://github.com/shohei/mnistうまく尤度が計算できてないやりかけのコード functio…