lowpass関数が使えない

12 views (last 30 days)
優輔 井内
優輔 井内 on 23 Jan 2023
Commented: 優輔 井内 on 24 Jan 2023
%Start of script(初期化)
close all; % close all figures
clear; % clear all variables
clc; % clear the command terminal
%変数の型の定義
format long
M1 = readmatrix('Z6mm6mmmin.csv');
t = M1(:,1);
sz1=size(t);
% A相はcos,B相はsin
A = M1(:,2);
B = M1(:,3);
%y = lowpass(x,fpass,fs) x がfs Hz のレート,fpassはHz単位でのフィルターの通過帯域周波数
fs = 1e5;
fpass = 500;
yA = lowpass(A,fpass,fs);
yB = lowpass(B,fpass,fs);
% yAlab = lowpass(Alab,fpass,fs);
% yBlab = lowpass(Blab,fpass,fs);
figure(1);
hold on;
scatter(t,yA,1);
scatter(t,yB,1);
% scatter(t,yAlab,1);
% scatter(t,yBlab,1);
hold off;
figure(2);
hold on;
scatter(t,A,1);
scatter(t,B,1);
hold off;
上記のプログラムを回すと下記の表現が出てきてローパスフィルタをかけることができません. 
スクリプト lowpass を関数として実行することはサポートされていません:
C:\Users\master\Documents\MATLAB\lowpass.m
エラー: lowpass_sinwave (行 21)
yAor = lowpass(Aor,fpass,fs);
原因のわかる方お願いいたします.
  2 Comments
Hernia Baby
Hernia Baby on 23 Jan 2023
確認しますがバージョンはいくつでしょうか?
優輔 井内
優輔 井内 on 23 Jan 2023
versionはR2021bです

Sign in to comment.

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 23 Jan 2023
>原因のわかる方お願いいたします
⇒ 上記のQ&Aと同じです。ファイル名を lowpass.m から他の名前に変えるのが手っ取り早い方法です。
【詳細】
MATLAB (Signal Processing Toolbox)の組込関数であるlowpass関数とスクリプトファイル名前が同じ事が原因です。試しにカレントフォルダなどパスの効いた場所に lowpass.m を保存・実行してみると質問と同じエラーが出ます。次にlowpassの在り処を調べると、下記の様に重複している様子が判ります。
which -all lowpass
/MATLAB Drive/lowpass.m
/MATLAB/toolbox/signal/signal/lowpass.m % Shadowed
  1 Comment
優輔 井内
優輔 井内 on 24 Jan 2023
ありがとうございます.
解決いたしました.

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!