Re: [討論] 當未知數多於方程式(已有範圍)

看板MATLAB作者 (雷門)時間14年前 (2011/11/24 20:33), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
原文恕刪 ㄎㄎ 我稍微幫你改一下加快速度 MATLAB 迴圈下去暴力跑其實是會很慢的 要善用"矩陣"的方法 clear all;clc;tic; % 清畫面 清資料 計時 n=4; % 變數個數 m=10; % 可能變數數量 p=0:9; % 變數範圍 0 1 2 3 4 5 6 7 8 9 p=p(fullfact([m,m,m,m])); % 排列組合 製造出所有答案 為一個(10000*4)矩陣 f1=@(X) X(:,1)+X(:,2)+X(:,3)+X(:,4)-9; % function 1 f2=@(X) X(:,1)*2+X(:,2)*3+X(:,3)*4+X(:,4)*5-22; % function 2 N=[]; % 做一個空集合變數 idx = find(f1(p)==0 & f2(p)==0); N = p(idx,:) toc; % 計時終止 時間快了4倍左右 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.197.4

11/24 21:22, , 1F
厲害厲害 讚唷讚唷~
11/24 21:22, 1F
文章代碼(AID): #1EpZcg4r (MATLAB)
文章代碼(AID): #1EpZcg4r (MATLAB)