24小时热门版块排行榜    

查看: 449  |  回复: 2

米尔蜜儿

铜虫 (初入文坛)

[求助] 定义global

1.需要定义一个global Qj 但是除去Q1和Qn 也就是1 2.在一个等式例如Aj+Bj=Dj中 规定2≤j≤N 要怎么定义
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

米尔蜜儿(金币+1): 个人觉得不是很正确 2011-05-04 11:10:31
米尔蜜儿(金币+1): 2011-05-05 15:42:08
第一个问题:
global q;
q = [1,2,3];

在需要的函数内部
global q;
q(1) = 10; 改变了q(1),其余q_j没有变

第二个问题:在一个等式例如Aj+Bj=Dj中 规定2≤j≤N 要怎么定义
a = [];
b = [];
d = [];
for j=2:n
    a(j)+b(j) = d(j);
end

即可
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-05-04 00:16:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★
米尔蜜儿(金币+1): 2011-05-04 16:10:28
米尔蜜儿(金币+1): 2011-05-05 15:42:00
xiegangmai(金币+5): 谢谢应助! 2011-05-06 11:10:19
怎么会不对呢?只是上面第二个问题为了解释清楚,没有用向量化手段而已,看验证吧
CODE:
function test()

clc;clear all;

disp('=========================');
disp('verify first question');

global q;
q = 1:5;
disp('global q');
q

subFun();

disp('=========================');
disp('verify second question');
n = 5;
a = 1:n;
b = 10+1:10+n;
d = zeros(1,n);
d(2:end) = a(2:end)+b(2:end);
disp('2<=j<=n, a(j)+b(j)=d(j)');
a
b
d
end

function subFun()
global q;
q(1) = 10;

disp('global q with first element changed');
q
end

结果如下:
CODE:
=========================
verify first question
global q
q =
     1     2     3     4     5
global q with first element changed
q =
    10     2     3     4     5
=========================
verify second question
2<=j<=n, a(j)+b(j)=d(j)
a =
     1     2     3     4     5
b =
    11    12    13    14    15
d =
     0    14    16    18    20

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2011-05-04 14:05:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 米尔蜜儿 的主题更新
信息提示
请填处理意见